String a = "abc";
String b = a.substring(1);
b.intern();
String c = "bc";
System.out.println(b == c);
這個問題可能是愚蠢的,因爲實習生在這裏沒有什麼大用法,我仍然對事實感到困惑,爲什麼b == c
結果爲true
。實習生如何在下面的代碼中工作?
當
String b = a.substring(1)
執行,字符串b
對對象有"bc"
是否b.intern
在字符串常量池中創建字面"bc"
,即使是這樣,如何true
來b==c
結果呢?
請親自看看[intern]的文檔(https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#intern) –