廢話不多說,上代碼:
package test.pxd.pongo;
public class TestMap {
public String get(String a,String b){
return a + b;
}
/**
* @param args
*/
public static void main(String[] args) {
TestMap map = new TestMap();
System.out.println(map.get("1", "1") == map.get("1", "1"));//1 false
System.out.println("1" + "1" == "1" + "1");//2 true
}
}
第一行打印處:a+b 的結果在運行時的時候才能確認,此時將會得到2個不同的String對象,因此返回false;
第二行打印處:1+1的結果在編譯時已經確認下來了(是“11”),運行時就相當於“11”==“11”,直接當做常量處理了,所以返回true;