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

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

==和equals 區別

2019-11-10 19:10:19
字體:
來源:轉載
供稿:網友

例子一:對象不同,內容相同,”==”返回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。


上一篇:繼承與派生(一)

下一篇:免費餡餅

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新河县| 凌海市| 乌鲁木齐市| 苏州市| 湖南省| 化德县| 泾阳县| 和静县| 阿鲁科尔沁旗| 岚皋县| 梁山县| 大关县| 泸溪县| 六盘水市| 古丈县| 阳朔县| 黔西县| 北流市| 长泰县| 区。| 察隅县| 汪清县| 清新县| 壶关县| 高唐县| 鹰潭市| 临高县| 宜州市| 美姑县| 富平县| 德江县| 绥阳县| 佳木斯市| 中方县| 扎鲁特旗| 卢龙县| 比如县| 静海县| 响水县| 西乌珠穆沁旗| 合阳县|