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

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

java中的String池

2019-11-17 04:03:48
字體:
來源:轉載
供稿:網友
在進入我們今天的話題前,先來看看下面這段代碼,你知道它的結果嗎?

程序代碼
public class StringTest1{
  public static void main(String[] args) {
     String str1 = "abc";
     String str2 = "abc";
     System.out.PRintln(str1 == str2);
   }
}

   正確答案應該是true。再來看下面這段代碼:
程序代碼

public class StringTest2 {
   public static void main(String[] args) {
     String str1 = new String("abc");
     String str2 = new String("abc");
     System.out.println(str1 == str2);
  }
}



   正確答案是false。

   眾所周知,java的String是不可改變的字符串對象。為了提高效率,java為String類提供了串池。正如大家所看到的那樣,在StringTest1中就使用了串池。當你重新聲明一個String型變量為abc時,將使用串池里原來的那個abc,而不重新分配內存,也就是說,str2與str1將會指向同一塊內存。所以結果為true。在StringTest2中使用了普通對象的聲明方式,系統將會為str1和str2各分配一塊內存。所以結果為false。 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 巴林右旗| 北安市| 伊川县| 寿宁县| 广安市| 池州市| 泰顺县| 沙洋县| 锡林浩特市| 威海市| 怀集县| 南丹县| 云霄县| 招远市| 香河县| 剑河县| 张家港市| 昔阳县| 桑植县| 柯坪县| 江西省| 安远县| 富源县| 象山县| 通渭县| 和林格尔县| 名山县| 湟源县| 格尔木市| 新巴尔虎左旗| 房产| 弥勒县| 监利县| 公主岭市| 江山市| 上思县| 乐山市| 志丹县| 焦作市| 徐汇区| 延安市|