国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

==和equals 區別

2019-11-10 18:27:12
字體:
來源:轉載
供稿:網友

例子一:對象不同,內容相同,”==”返回false,equals返回true

String s1 = new String(“java”); String s2 = new String(“java”);

System.out.PRintln(s1==s2); //false System.out.println(s1.equals(s2)); //true 例子二:同一對象,”==”和equals結果相同

String s1 = new String(“java”); String s2 = s1;

System.out.println(s1==s2); //true System.out.println(s1.equals(s2)); //true String作為一個基本類型來使用

如果值不相同,對象就不相同,所以”==” 和equals結果一樣

String s1 = “java”; String s2 = “java”;

System.out.println(s1==s2); //true System.out.println(s1.equals(s2)); //true

例如String a = “abc”; String b = “abc”; a == b返回true,a.equals(b)同樣返回true,這是為什么呢? 原來程序在運行時有一個字符串池,創建字符串時會先查找池中是否有相應的字符串,如果已經存在的話只需把引用指向它即可,如果沒有則新建一個。 上例中創建a時,會在字符串池中首先創建一個”abc”,然后a指向它;創建b時,由于”abc”已經存在,b直接指向它即可。 若改為:String a = “abc”; String b = new String(“abc”); 則a == b返回false,a.equals(b)返回true。因為創建b時不管”abc”是否存在都會new一個新的”abc”,從而a和b指向的字符創對象是不同的,因此返回false。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汾阳市| 广安市| 罗山县| 平舆县| 广饶县| 东兰县| 齐河县| 错那县| 五河县| 伊川县| 滦平县| 分宜县| 揭东县| 通榆县| 翁牛特旗| 平武县| 凤翔县| 三穗县| 仁布县| 三亚市| 固始县| 汽车| 廉江市| 丹寨县| 宣武区| 来凤县| 张家港市| 巴青县| 紫云| 铁力市| 昭觉县| 陈巴尔虎旗| 三明市| 青田县| 利川市| 通辽市| 通山县| 公安县| 特克斯县| 西和县| 常州市|