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

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

==和equals 區別

2019-11-10 21:50:06
字體:
來源:轉載
供稿:網友

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 军事| 永吉县| 永吉县| 昌黎县| 南阳市| 赤峰市| 南投市| 株洲县| 简阳市| 旬邑县| 会同县| 平安县| 阜康市| 徐汇区| 任丘市| 肇东市| 留坝县| 永康市| 新余市| 寿光市| 宝坻区| 桐乡市| 瓦房店市| 新绛县| 湘乡市| 临清市| 文山县| 迁安市| 崇左市| 新野县| 平邑县| 西华县| 喀什市| 甘德县| 凉城县| 富阳市| 樟树市| 咸丰县| 凤凰县| 茂名市| 彭阳县|