回覆列表
  • 1 # djdjdsks

    在比較兩個String物件的內容是否相同時是使用equals方法的如:Stringstr1=newString(“A”);Stringstr2=newString(“B”);Stringstr3=newString(“B”);booleanresult1=str1.equals(str2);booleanresult2=str1.equals(str3);System.out.println(result1);System.out.println(result2);則輸入的result1為false,result2為true。因為str1與str2的內容不相同,而str2與stR3內容相同都是“B”。而在String類中使用“==”時,比較的是兩個String物件的引用是否指向同一個物件,如Stringstr4=newString(“B”);Stringstr5=newString(“B”);Stringstr6=str5;booleanresult3=(str4==str5);booleanresult4=(str5==str6);System.out.println(result3);System.out.println(result4);則輸入的result3為false,result4為true。因為str4、str5雖然內容相同但它們是不同的物件,就像兩個同樣的杯子裝著同樣多的水,可它們是不同的,result3為false。而str5、str6是指向同一個String物件的,所以result4為true。再說明一點,Stringstr=newString("abc")和Stringstr="abc"是有一點小區別的,對於new出來的String物件,是每new一個記憶體裡生成一個,也就是說其允許存在內容相同的重複物件。而Stringstr="abc"這種形式是不允許存在內容相同的重複物件,只要記憶體已經存在了,就不再新生成,而是把新的引用指向原來的物件。

  • 中秋節和大豐收的關聯?
  • 燉牛排的家常做法?