內容摘要:本文通過寫出代碼結果的方式向你解析了java面試中常面倒的幾個知識點:string,equals(),==.
1.寫出下面代碼的結果

public class TestString
{

public static void link(String a)
{
a += "World";
}


public static void main(String[] args)
{
String a = "Hello";
link(a);
System.out.println(a);
}
}

答: 這道題考兩個方面:
1). String對象的內容是不能改變的,a+="World"并不是把a所指對象改變,
而是先生成一個臨時String對象,其值為a+"World",然后在把這個臨時
對象賦給a.
2). Java中函數參數傳遞方式為Call by value,link方法中會生產a的一個
拷貝,同樣指向a所指的對象,綜合以上兩點,得出結果為 Hello
2.寫出下面代碼的結果
System.out.println("ja"+"va" == "java");
答:"=="用來比較對象的引用,而equals()用來比較對象的內容,但是如果是字符串常量,用"=="也可以比較內容
是否相等,"ja"+"va"和"java"都是字符串常量,因此結果為true
同理,下面代碼結果也是true
final String str = "java";

System.out.println(str=="java")
