JAVA一些趣味題(不間斷總結)

1、

無意間從網上看到這麼一個題:


結果是什麼呢?

無非是true和false(好像是廢話),答案是:

false
true
true
true


先說一下第四個和第一個對比,第一個的String b = a+"b";而不是String b="a"+"b";
而第四個說白了String abc="abc"和String abc3="ab"+"c"是一樣的,這個可以看生成的class文件的


於是第三個輸出繼續和第一個對比,第三個輸出從反編譯看到也是“abc”,但不要忘了ab2他是final關鍵字,而final關鍵字的源碼裏存儲數據的方式爲private final char value[];表明String不僅不能被複寫,連它裏面存數組的域都是final的,意思你一旦初始化它你就沒法改它了。於是第二個輸出就能解釋了。

這個題主要考的是final關鍵字的使用和String的值存放的理解(我是這樣理解的),這裏有個很好的解釋可以參考一下:
http://bbs.csdn.net/topics/391070616


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章