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

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

==和equals 區別

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

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


上一篇:除法

下一篇:通帶紋波,阻帶衰減

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿图什市| 溆浦县| 南开区| 丹棱县| 南江县| 临邑县| 太湖县| 鄱阳县| 砀山县| 岳池县| 房山区| 乌拉特中旗| 湄潭县| 来宾市| 新竹市| 同仁县| 屯门区| 锦屏县| 和平县| 唐山市| 卓尼县| 合肥市| 阿克陶县| 广德县| 扎囊县| 喀喇沁旗| 绥阳县| 徐水县| 和龙市| 桐柏县| 桃江县| 汕尾市| 郴州市| 许昌市| 丹江口市| 怀宁县| 宁国市| 怀宁县| 孟津县| 鄂托克前旗| 鄂伦春自治旗|