“==”和“equals”
生活随笔
收集整理的這篇文章主要介紹了
“==”和“equals”
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
當(dāng)使用==來判斷兩個(gè)變量是否相等是,如果2個(gè)變量是基本類型的變量,且都是數(shù)值型(不一定要求數(shù)據(jù)類型嚴(yán)格相同),則只要兩個(gè)變量的值相等,使用==判斷將返回true。
對于兩個(gè)引用類型的變量,必須它們指向同一個(gè)對象是,==才會(huì)判斷true。但很多時(shí)候,程序需要判斷兩個(gè)引用變量是否相等,也就是“值相等”,并不嚴(yán)格要求兩個(gè)引用變量指向同一個(gè)對象,此時(shí)就可以利用String對象的equals方法來進(jìn)行判斷。例如
String str1 = new String("hello");
String str2 = new String("hello");
//將輸出false
System.out.println(str1==str2);
//將輸出true
System.out.println(str1.equals(str2));
以上所說的equals方法是Object提供的,很多時(shí)候我們需要重寫自己的equals方法
對于兩個(gè)引用類型的變量,必須它們指向同一個(gè)對象是,==才會(huì)判斷true。但很多時(shí)候,程序需要判斷兩個(gè)引用變量是否相等,也就是“值相等”,并不嚴(yán)格要求兩個(gè)引用變量指向同一個(gè)對象,此時(shí)就可以利用String對象的equals方法來進(jìn)行判斷。例如
String str1 = new String("hello");
String str2 = new String("hello");
//將輸出false
System.out.println(str1==str2);
//將輸出true
System.out.println(str1.equals(str2));
以上所說的equals方法是Object提供的,很多時(shí)候我們需要重寫自己的equals方法
總結(jié)
以上是生活随笔為你收集整理的“==”和“equals”的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于sql语句
- 下一篇: 理解单例模式、单例类