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

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

==和equals 區別

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

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 长岭县| 兰西县| 呼玛县| 阿鲁科尔沁旗| 通辽市| 同德县| 广河县| 东港市| 河曲县| 黄冈市| 南郑县| 调兵山市| 拉萨市| 弥勒县| 博白县| 章丘市| 普陀区| 大方县| 东源县| 绥棱县| 宁阳县| 托里县| 晋江市| 六枝特区| 福安市| 潮州市| 霞浦县| 荣昌县| 大埔县| 揭西县| 濮阳县| 绩溪县| 长海县| 霍山县| 漾濞| 嘉义县| 基隆市| 新巴尔虎左旗| 潼南县| 普陀区| 河间市|