亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

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

JVM角度比較==和equals的區別·

2019-11-11 03:30:44
字體:
來源:轉載
供稿:網友

1.  java中數據類型分類

1.1    基本數據類型

又稱為原始數據類型,byte,short,char,int,long,float,double,boolean,他們之間的比較應該使用(==),比較的是他們的值。

1.2    復合數據類型

當復合數據類型用(==)進行比較,比較的是他們在內存中的存放地址。下面介紹equals方法。

 在Java的Object類中定義了equals方法,當復合數據類型之間進行equals比較時,這個方法的初始行為是比較對象在堆內存中的地址,但在一些諸如String,Integer,Date類中這個方法被覆蓋了,在這些類當中equals有其自身的實現,作用被覆蓋為比較內容是否相同。

本文原創,轉載請注明出處:http://blog.csdn.net/seu_calvin/article/details/52089040

2.  String類的討論

[java] view plain copy 在CODE上查看代碼片String s1 = "Hello";  String s2 = "Hello";  if (s1 == s2){   System.out.String s1 = "Hello";  String s2 = new String("Hello");  if (s1 == s2){  System.out.println("s1 == s2");  }else{  System.out.println("s1 != s2");  }  if (s1.equals(s2)) {  System.out.println("s1 equals s2");  }else{  System.out.println("s1 not equals s2");  }  

輸出:s1%20!=%20s2s1%20equals%20s2說明:s1%20s2分別引用了兩個對象。顯然,兩者內容是相同的,因此equal返回true。第一個例子也一樣。

我們接下來將詳細討論,為什么在上面兩個例子中,s1和s2出現了兩種不同的指向對象的情況。

3.%20 %20解釋

[java] view%20plain copy String str = new String("abc");   String str = "abc";   

兩種的形式來創建,第一種是用new()來新建對象的,那么這種情況的內存是怎么分配的呢,答案是在堆空間和字符串常量池中。每調用一次就會在堆中創建一個新的對象,如果常量池中已經存在"abc",那么就不會額外在常量池中生成引用。因此這句話會產生一個或者兩個對象。

而第二種是先在常量池中創建一個對String類的對象引用變量str,然后查找常量池中有沒有存放"abc",如果沒有,則將"abc"存放并令str指向”abc”,如果已經有”abc”則直接令str指向“abc”。 由于String類的immutable性質,當String變量需要經常變換其值時,應該考慮使用StringBuffer類,以提高程序效率。 

具體可以查看此篇String、StringBuider以及StringBuffer的區別和使用場景。

4.  String類的intern方法

[java] view%20plain copy String s1 = "Hello";  String s2 = new String("Hello");  s2 = s2.intern();  if (s1 == s2){  System.out.println("s1 == s2");  }else{  System.out.println("s1 != s2");  }  if (s1.equals(s2)) {  System.out.println("s1 equals s2");  }else{  System.out.println("s1 not equals s2");  }  程序輸出:s1%20==%20s2s1%20equals%20s2這次加入:s2%20=%20s2.intern(),java.lang.String的intern()方法,"abc".intern()方法的返回值還是字符串"abc",表面上看起來好像這個方法沒什么用處。但實際上,它做了個小動作:檢查字符串池里是否存在"abc"這么一個字符串,如果存在,就返回池里的字符串;如果不存在,該方法會把"abc"添加到字符串池中,然后再返回它的引用。但是這也僅僅是JDK1.6以及以前的過時的處理方法,如果想了解更全更清晰的intern()方法,請務必參考我的這篇博文Java技術——你真的了解String類的intern()方法嗎。

5.  為什么Java1000==1000false100==100true?

[java] view%20plain copy 派生到我的代碼片Integer i1 = 100,i2 = 100;  System.out.println(i1==i2);  Integer i3 = 1000,i4 = 1000;  System.out.println(i3==i4);  

查看Integer.java類,會發現有一個內部私有類,IntegerCache.java,它緩存了從-128到127之間的所有的整數對象。

所以例子中i1和i2指向了一個對象。因此100==100為true。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲а∨天堂久久精品喷水| 91丝袜美腿美女视频网站| 日韩经典一区二区三区| 成人精品在线视频| 亚洲第一精品电影| 日韩综合视频在线观看| 97国产真实伦对白精彩视频8| www日韩中文字幕在线看| 亚洲欧美成人精品| 中文字幕在线看视频国产欧美| 91国产高清在线| 亚洲精品一二区| 欧美主播福利视频| 国产综合久久久久久| 午夜精品蜜臀一区二区三区免费| 国产成人a亚洲精品| 欧美激情在线视频二区| 中文字幕国产日韩| 亚洲欧洲第一视频| 97精品国产aⅴ7777| 欧美网站在线观看| 国产精品日韩av| 久久精品这里热有精品| 欧美乱大交xxxxx另类电影| 欧美亚洲第一区| 亚洲免费成人av电影| 91探花福利精品国产自产在线| 中文字幕一区二区精品| 不用播放器成人网| 97视频在线观看播放| 亚洲精品美女视频| 亚洲女人天堂av| 欧美视频一区二区三区…| 黑人巨大精品欧美一区二区一视频| 综合国产在线视频| 亚洲欧美精品一区二区| 国产精品吴梦梦| 国产精品成av人在线视午夜片| 欧美日韩亚洲天堂| 日韩精品免费在线视频| 青青草原一区二区| 欧美视频在线观看免费| 久久99国产精品自在自在app| 性视频1819p久久| 日韩精品中文字幕在线观看| 欧美精品少妇videofree| 97视频在线观看免费| 成人xxxxx| 中文字幕日韩综合av| 国产成人jvid在线播放| 91国产精品91| 亚洲精品99999| 国产日韩欧美影视| 国产有码在线一区二区视频| 欧美激情中文字幕乱码免费| 蜜臀久久99精品久久久久久宅男| 亚州欧美日韩中文视频| 91在线观看免费网站| 国产精品看片资源| 国产日韩欧美一二三区| 欧美精品福利在线| 伊人青青综合网站| 国产成人97精品免费看片| 最新91在线视频| 国产精品一区二区久久久久| 国内精品久久久久影院优| 欧美精品性视频| 欧美尺度大的性做爰视频| 成人中文字幕+乱码+中文字幕| 日韩高清电影免费观看完整版| 色老头一区二区三区| 欧美极品少妇与黑人| 国产成人精品av在线| 红桃视频成人在线观看| 国产成人久久久精品一区| 国产精品小说在线| 精品国产电影一区| 国产精品91久久久久久| 日韩中文字幕在线播放| 亚洲成人精品在线| 国产日韩精品电影| 亚洲国产日韩欧美在线图片| 国产a∨精品一区二区三区不卡| 亚洲国产精品电影| 欧美激情精品久久久久久蜜臀| 国产午夜精品视频| 欧美高清自拍一区| 国产精品手机播放| 九九热99久久久国产盗摄| 国色天香2019中文字幕在线观看| 欧美日韩一二三四五区| 成人午夜两性视频| 国产精品中文字幕在线观看| 国产精品88a∨| 狠狠躁夜夜躁人人爽超碰91| 精品久久久久久久久久ntr影视| 国产精自产拍久久久久久蜜| 亚洲国产日韩欧美在线99| 欧美色道久久88综合亚洲精品| 国产免费成人av| 日韩av在线免费观看一区| 国产成人精品在线播放| 亚洲a在线观看| 在线播放日韩欧美| 岛国av一区二区在线在线观看| 日韩成人在线观看| 亚洲乱码国产乱码精品精天堂| 午夜精品美女自拍福到在线| 欧美—级高清免费播放| 91精品国产色综合久久不卡98口| 亚洲人午夜精品| 国产成人中文字幕| www.亚洲成人| 国产99久久精品一区二区 夜夜躁日日躁| 国产日韩欧美日韩| 91免费看国产| 亚洲精品成人免费| 欧美成人激情视频| 久久久久国产精品免费网站| 成人免费自拍视频| 亚洲精品动漫久久久久| 亚洲精品久久7777777| 亚洲网站视频福利| 国产一级揄自揄精品视频| 欧美孕妇毛茸茸xxxx| 日韩黄色在线免费观看| 色偷偷噜噜噜亚洲男人的天堂| 欧美激情在线一区| 欧美性xxxxxx| 欧美电影第一页| 国内精久久久久久久久久人| 亚洲国产一区二区三区在线观看| 亚洲国产成人精品一区二区| 久久综合九色九九| 在线性视频日韩欧美| 日韩国产高清污视频在线观看| 亚洲国产日韩一区| 国产精品欧美亚洲777777| 欧美在线精品免播放器视频| 国产精品久久久久久久久男| 色哟哟亚洲精品一区二区| 日韩在线一区二区三区免费视频| 精品国内亚洲在观看18黄| 在线日韩日本国产亚洲| 亚洲va欧美va在线观看| 日韩在线观看高清| 亚洲高清久久久久久| 欧美极品少妇与黑人| 亚洲国产精品视频在线观看| 国产成人精品日本亚洲专区61| 日本免费久久高清视频| 亚洲精品美女久久| 亚洲乱码国产乱码精品精| 欧美性猛交xxxx免费看| 亚洲视频在线视频| 92看片淫黄大片看国产片| 91在线播放国产| 国产精品69精品一区二区三区| 91精品国产色综合| 亚洲精品美女在线观看播放| 欧洲s码亚洲m码精品一区| 国内精品中文字幕| 欧美国产第二页| www高清在线视频日韩欧美|