搜尋此網誌

2013年6月6日 星期四

Java字串比較

第一個true會成立, 是因為 equals這個api就是用來測試兩個字串是否相等, 所使用的. 第二個true會成立, 是因為 Java內部有一個字串常數池 , test2 和 test都是指到參數池裡頭同一個"test"字串 , 所以會相等. 第三個false , 是因為test3這個變數, 指到了一個新的物件, 雖然新物件的值也是"test" , 但是和物件常數池裡的"test"物件是不相同. 所以為false.
 public class StringComparison {  
      public static void main(String[] args)  
      {  
           String test = " test ";  
           String test2 = " test ";  
           String test3 = new String("test");  
           System.out.println(test.equals(test2));  
           System.out.println(test == test2);  
           System.out.println(test == test3);  
      }  
 }  

沒有留言:

張貼留言