[OCAJP]字串相等2

Given the code fragment:

Which code fragment, when inserted at line n1, enables the App class to print Equal?

A.

B.

C.

D.

題解

Java的「==」運算子會判斷運算元的值是否相等,而非內容是否相等。在這裡若要輸出「Equal」,必須要讓if條件式成立。

選項A,str2和str3都是參考至相同的物件,但str1和str2是兩個不同的物件,所以它們的參考值是不一樣的,if條件式不會成立。

選項B,equalsIgnoreCase方法可以判斷字串在忽略字母大小寫的情況下是否相等。str1是「Java」,str2是「java」,因此if條件式成立。

選項C,str2和str3都是參考至相同的物件,equals可以判斷字串是否完全相等。str1是「Java」,str3是「java」,因此if條件式不成立。

選項D,toLowerCase方法會回傳將字串內的字母全都轉成小寫字母的結果。str1.toLowerCase()會回傳「java」,str2.toLowerCase()會回傳「java」,但雖然這兩字串都是「java」,它們實際上是不同的物件,因此有不同的參考,所以經過「==」運算後,結果將為false。

關於作者

Magic Len

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

相關文章