C#和Java中“==”和“equals”区别
生活随笔
收集整理的這篇文章主要介紹了
C#和Java中“==”和“equals”区别
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
C#中“==”和“equals”區(qū)別如下:
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 比較內(nèi)容 C#中string重載了操作符"==",而Java中的String并沒(méi)有重載操作符"==" 10 Console.WriteLine((object)s1 == (object)s2); //false 比較地址值 11 Console.WriteLine(s1.Equals(s2)); //true 比較內(nèi)容 12 } 13 }?
Java中“==”和“equals”區(qū)別如下:
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#的區(qū)別 9 System.out.println((Object)s1 == (Object)s2); //false 比較地址值 10 System.out.println(s1.equals(s2)); //true 比較內(nèi)容,String重寫(xiě)了Object中的equals 11 } 12 }?
C#和Java中的操作符“==”是比較兩個(gè)變量的值是否相等,即棧中的值是否相等,這個(gè)棧中的值可能是值類型的值,也可能是引用類型的地址。
C#和Java中的equals方法則是重寫(xiě)了Object中的equals方法,從而比較的是內(nèi)容。
區(qū)別:C#中的string重載了操作符"==",使得兩個(gè)字符串間比較的是內(nèi)容,而非比較地址值。而Java的兩個(gè)字符串對(duì)象則比較的是地址值,而非內(nèi)容。
轉(zhuǎn)載于:https://www.cnblogs.com/qq641120784/p/9494658.html
總結(jié)
以上是生活随笔為你收集整理的C#和Java中“==”和“equals”区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: winform 时间控件 可以选择时分
- 下一篇: git常见错误failed to pus