C#中「==」和「equals」區別以下:spa
1 using System; 2 class Program 3 { 4 public static void Main(string[] args) 5 { 6 string s1 = "ab"; 7 string s2 = "a"; 8 s2 += "b"; 9 Console.WriteLine(s1 == s2); //true 比較內容 C#中string重載了操做符"==",而Java中的String並無重載操做符"==" 10 Console.WriteLine((object)s1 == (object)s2); //false 比較地址值 11 Console.WriteLine(s1.Equals(s2)); //true 比較內容 12 } 13 }
Java中「==」和「equals」區別以下:code
1 class Test 2 { 3 public static void main(String[] args) 4 { 5 String s1 = "ab"; 6 String s2 = "a"; 7 s2 += "b"; 8 System.out.println(s1 == s2); //false 比較地址值 注意此處與C#的區別 9 System.out.println((Object)s1 == (Object)s2); //false 比較地址值 10 System.out.println(s1.equals(s2)); //true 比較內容,String重寫了Object中的equals 11 } 12 }
C#和Java中的操做符「==」是比較兩個變量的值是否相等,即棧中的值是否相等,這個棧中的值多是值類型的值,也多是引用類型的地址。對象
C#和Java中的equals方法則是重寫了Object中的equals方法,從而比較的是內容。blog
區別:C#中的string重載了操做符"==",使得兩個字符串間比較的是內容,而非比較地址值。而Java的兩個字符串對象則比較的是地址值,而非內容。字符串