[OCAJP]字元與字串的串接


Given:

What is result?

A.

Successful

B.

Unsuccessful

C. Compilation fails
D. An exception is thrown at runtime

題解

第5行的str3一開始為null,接著在第7行直接使用「+」運算子與字元做字串連接,這樣的方式在Java是可被允許的。參考至null的字串在進行字串連接時會自動被改為長度為4的「null」字串,因此這題的str3變數串接到最後的結果為「nullJava」,「Java」和「nullJava」明顯不是一樣的字串,因此輸出為「Unsuccessful」。

以下再給一個例子:

輸出結果為:

nullc
nullc
nullc
542
nullc

這裡要注意的地方是,「+」運算子的運算元必須要至少有一個是字串或是物件,才會被當作是字串連接,否則為加法運算。不知型態的null與字元c(字元值為99)無法做加法運算,因此會發生編譯錯誤。

關於作者

Magic Len

各位好,我是Magic Len,是這網站的管理員。我是台灣台中大肚山上人,畢業於台中高工資訊科和台灣科技大學資訊工程系,曾在桃機航警局服役。我熱愛自然也熱愛科學,喜歡和別人分享自己的知識與經驗。如果你有興趣認識我,可以加我的Facebook,並且請註明是從MagicLen來的。

相關文章