程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 享元設計模式與Integer類

享元設計模式與Integer類

編輯:C++入門知識

//享元模式
/**
 *  當基本正數數據類型在裝箱為Integer類型時,0~127之間的數字裝箱後會被緩存起來,當下次對同樣的數字裝箱時
 *  兩個Integer對象是相等的,即指向同一塊內存,而當數字超過127後,自動裝箱後不會被緩存,再次裝箱同樣大於127的數字時
 *  兩個Integer對象是不相等的。
 * 
 *  以上事例就是通常所說的享元設計模式,對於那些非常小但是又需要在系統的很多地方都需要用到它的時候,我們需要把它
 *  緩存起來,以便下次再次使用,減少了創建對象的開銷。
 *
 *
 */
public class Test {

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
 
  Integer a1 = new Integer(4);
  Integer a2 = new Integer(4);
  System.out.println(a1 == a2); //false
 
 
  Integer i1 = 13;
  Integer i2 = 13;
  System.out.println(i1 == i2); //true
 
 
 
  Integer i3 = 128;
  Integer i4 = 128;
 
  System.out.println(i3 == i4); //false
 
  Integer i5 = Integer.valueOf(3);
  Integer i6 = Integer.valueOf(3);
  System.out.println(i5 == i6); //true
 
  Integer i7 = Integer.valueOf(127);
  Integer i8 = Integer.valueOf(127);
  System.out.println(i7 == i8); //true
 

 }

}


 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved