java自動裝箱、自動拆箱和正常情況效能比較
自動裝箱和自動拆箱是java5.0版本引入的,能自動將基本型別轉換為對應的基本型別包裝物件,那麼我們比較一下他們的效能情況。
從執行的結果可以得出幾個結論:
1.物件之間的賦值和自動裝拆箱差不多;
2.自動裝箱賀自動拆箱的效能差不多;
3.基本資料型別的運算是遠遠快於物件以及自動裝拆箱;
上面的例子只是針對賦值操作的結果。在java程式碼編寫過程中,很多時候需要操作物件而不是基本資料型別,這樣我們不得不進行基本型別轉物件,因此我們必須評估物件轉換的成本大還是自動裝箱效能消耗大,我試過了把基本型別通過自動裝箱和轉成物件,結果發現效能差不多。
使用原則:
1.能不用物件儘量不用,因為基本型別的運算遠遠快於物件的運算;
2.不得不用物件時,採用自動裝箱或手動轉效能差不了多少;
相關推薦
java自動裝箱、自動拆箱和正常情況效能比較
自動裝箱和自動拆箱是java5.0版本引入的,能自動將基本型別轉換為對應的基本型別包裝物件,那麼我們比較一下他們的效能情況。 package com.wmmad.test; import junit.framework.TestCase; /** * @author ma
JAVA一切皆對象之包裝類、自動裝箱、自動拆箱
對象 包裝類 強制 用戶 類型轉換 自動轉換 方法 img 無需 每個基本類型都有一個對應的類;就是所謂的包裝類; 1,裝箱和拆箱 基本類型和類類型可以相互轉換; 基本類型到類類型的轉換叫做裝箱; 類類型到基本類型的轉換叫做拆箱; 2,自動裝箱和拆箱 在類類型
自動裝箱、自動拆箱、包裝類的快取
自動裝箱和自動拆箱 自動裝箱和自動拆箱就是將基本資料型別和包裝類之間進行自動的互相轉換。JDK1.5後,Java引入了自動裝箱(autoboxing)/拆箱(unboxing)。 自動裝箱 基本型別的資料處於需要物件的環境中,會自動轉換成“物件”。 以Integer為例,在J
java 自動裝箱、拆箱
code 題解 解決 ring sun 引用 自動裝箱拆箱 property maximum # java 自動裝箱、拆箱 從 jdk 1.5 版本開始, 引入該功能。 一、自動裝箱 將基本數據類型自動封裝為對應封裝類。 代碼示例, Integer i = 100; 100
Java基本資料型別的大小,他們的封裝類以及自動拆箱和裝箱
Java提供了一套基本資料型別,總共有八種,也會有人說是有九種。 在我們的印象中,很多人可能會說出byte,short,int,long,float,double,boolean,char這八種資料型別。 那麼還有一種是哪種呢,它到底是不是資料型別呢? 我們很容易忽略一個void,有
java 1.5 自動拆箱和裝箱的注意事項
背景 java1.5後引入了自動裝箱和自動拆箱的概念 自動拆箱:將引用型別轉化為基本資料型別 自動裝箱:將基本資料型別裝為引用型別 但是實際使用中,什麼情況自動拆箱什麼情況自動裝箱呢? 自動裝箱 Integer i = 100; (呼叫Integer.valueOf(100)) 這裡存
11、自動拆箱和裝箱
什麼是自動拆箱和自動裝箱? //自動裝箱:把基本型別轉換為包裝類型別 Integer s1 = 123; //自動拆箱:把包裝類型別轉換為基本型別 Integer s2 = new Integer(10);
java基本型別和基本型別包裝型比較時的自動拆箱和自動裝箱
java中,任何物件都繼承自Object,所以都有equals()方法。在基本型別中,兩個數值之間的比較==和equals()方法,比較的都是兩個運算元的地址,地址相同,則返回值為true。在物件中,不管是自己寫的物件還是java中已經有的物件,如果這個類物件複寫了繼承自O
Java包裝類、自動裝箱與拆箱知識總結
因為在學習集合時知道集合裡存放的物件都是Object型別,取出的時候需要強制型別轉換為目標型別(使用泛型集合不需要),如int a = (Integer)arrayList.get(0);然後我們就會發現,為什麼要強制轉換為Integer,而不是int呢?int與Integ
包裝類應用場景和自動裝箱、拆箱
sys art 允許 應用 功能 包裝類 賦值 默認值 方法 包裝類應用場景和自動裝箱、拆箱 1、集合類泛型只能是包裝類; List<Integer> list; 2、成員變量不能有默認值; 基本數據類型的成員變量都有默認值,如以上代碼 status 默
如何理解Java中的自動拆箱和自動裝箱?
小偉剛畢業時面的第一家公司就被面試官給問住了... 如何理解Java中的自動拆箱和自動裝箱? 自動拆箱?自動裝箱?什麼鬼,聽都沒聽過啊,這...這..知識盲區... 回到家後小偉趕緊查資料,我透,這不就是問基本型別跟封裝型別嗎,面試官整啥名詞呢... 別問結果,問就是沒過。 1、 什麼是自動裝箱,自動拆箱 定
自動裝箱、拆箱
short code i++ sum character plain byte 每次 bsp byte,short,char,int,long,float,double和boolean對應的封裝類為Byte,Short,Character,Integer,Long,Floa
Java中自動裝箱與自動拆箱機制
以下筆記來自於《演算法 (第4版)》。 型別引數必須被例項化為引用型別,因此Java有一種特殊機制來使泛型程式碼能夠處理原始資料型別。 Java中的封裝型別都是原始資料型別所對應的引用型別:Boolean Byte Character Double Float Intege
關於一個自動裝箱、拆箱的例子
Integer i1 = 100; // Integer.valueOf(100) Integer i2 = 100; if ( i1 == i2) return true; return false; // return true Integer i
Java學習筆記09--靜態匯入 ;增強for迴圈 ;可變引數 ;自動裝箱與自動拆箱;FILE(檔案操作)
∆ 靜態匯入: 靜態匯入的作用: 簡化書寫。 靜態匯入可以作用一個類的所有靜態成員。 靜態匯入的格式: import static 包名.類名.靜態的成員; 靜態匯入要注意的事項:
Integer的自動拆箱和自動裝箱的陷阱(整型數-128到127的值比較問題)
Integer的自動拆裝箱的陷阱(整型數-128到127的值比較問題): 1、先看下面的例子: package integerdemo; publicclass IntegerDemo { publicstaticvoid main(String[] args) {
Java基本型別的自動裝箱與自動拆箱
一、簡介 java是面入物件程式設計的語言,所有的都表示為物件。那麼對於基本型別,java提供了對應的包裝類。 相應的就有自動裝箱與自動拆箱操作。 二、自動裝箱操作 1、定義 自動裝箱是指基本型別轉為對應的包裝類,如int轉Integer,double轉為Double等。
Integer自動裝箱和拆箱和比較
一、int 和Integer比較。不管Integer是直接等於一個數值,還是=new Integer(xxx);都是Integer拆箱成int,再去和前面那個int數值比較。 二、Integer和Integer比較,存在三種情況。 a.它們兩個都是直接等於一個數值, 那麼
java拆箱和裝箱
手工 enc bsp 簡潔 實現 lan 開始 spa 徹底 1.自動裝箱和自動拆箱 - 指的是原始類型和封裝類型相互轉換。 2. 為什麽要擁有裝箱和拆箱機制? - 使java代碼更加徹底地面向對象 - 從jdk1.5以後開始支持,使代碼更加簡潔,
Java中的拆箱和裝箱
基本數據 JD 基本數據類型 AS val 類型 sys 裝箱 數據 一.拆箱和裝箱的概念 裝箱:將基本數據類型的值轉為引用類型的值; 拆箱:將引用類型的值轉換為基本數據類型的值; 二.實例演示 public class Example19 { public