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

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

String s1="AB"和String s2=new String("AB")的區別

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

首先,String對象是final修飾的常量,是不可改變的字符串 當String對象創建完畢后,該對象的內容不可以改變的,一旦內容改變就會創建一個新的對象

如下圖一旦s1的值改變了,s1對象的hashCode就改變了


String對象的哈希值變化


String s1 = "AB";

最多創建一個String對象,最少不創建String對象. 如果在方法區中的常量池中存在”AB”,那么s1直接引用,不需要創建String對象,否則先在常量池中創建”AB”,再引用

String s2 = new String("AB");

最多創建兩個String對象,至少創建一個String對象,先看常量池中是否有”AB”,如果沒有先創建,然后在堆中創建一個String對象,引用常量池中”AB”的地址,再把自己的地址給s2. new關鍵字絕對會在堆空間中創建內存區域,所以至少創建一個對象


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 娄烦县| 宝丰县| 白沙| 汉阴县| 永泰县| 金华市| 扎鲁特旗| 崇义县| 富源县| 赤壁市| 三江| 瑞昌市| 临高县| 高州市| 平定县| 彭山县| 商城县| 宣威市| 洪泽县| 新巴尔虎左旗| 朝阳区| 封丘县| 吉木乃县| 阳朔县| 玛纳斯县| 遂平县| 邵阳县| 松桃| 德清县| 洪湖市| 乌拉特前旗| 建昌县| 岳池县| 崇义县| 聊城市| 阳信县| 邵阳市| 黄龙县| 潞城市| 沧源| 天津市|