1. 程式人生 > >Java基礎之裝箱和拆箱的基本概念及使用

Java基礎之裝箱和拆箱的基本概念及使用

裝箱:把基本型別用它們相應的引用型別包裝起來,使其具有物件的性質。int包裝成Integer、float包裝成Float

拆箱:和裝箱相反,將引用型別的物件簡化成值型別的資料

Integer a = 100;                  這是自動裝箱  (編譯器呼叫的是static Integer valueOf(int i))

int     b = new Integer(100); 這是自動拆箱

看下面一段程式碼

public class DataType {
 
    public static void main(String args[]) {
        DataType dt = new DataType();
        dt.m11();
        dt.m12();
         
    }
 
    public void m11() {
        Integer a = new Integer(100);
        Integer b = 100;
        System.out.println("m11 result " + (a == b));
    }
 
    public void m12() {
        Integer a = new Integer(128);
        Integer b = 128;
        System.out.println("m12 result " + (a == b));
    }
 
     
}

列印結果是什麼?

m11 result false
m12 result false

“==”比較的是地址,而a和b兩個物件的地址不同,即是兩個物件,所以都是false。


相關推薦

Java基礎裝箱基本概念及使用

裝箱:把基本型別用它們相應的引用型別包裝起來,使其具有物件的性質。int包裝成Integer、float包裝成Float 拆箱:和裝箱相反,將引用型別的物件簡化成值型別的資料 Integer a = 100;                  這是自動裝箱  (編譯器呼叫的

Java SE裝箱

fin valueof targe 單純 數值 test 構造 簡化 ble 對象包裝器、自動裝箱與拆箱 2016/11/30 晚 特點: 1.所有的基本類型都有一個包裝器類與之對應。[Integer,Boolean,Long,Character,Sh

深入剖析Java中的裝箱(淺度深度都有了)

     自動裝箱和拆箱問題是Java中一個老生常談的問題了,今天我們就來一些看一下裝箱和拆箱中的若干問題。本文先講述裝箱和拆箱最基本的東西,再來看一下面試筆試中經常遇到的與裝箱、拆箱相關的問題。   以下是本文的目錄大綱:     什麼是裝箱?什麼是拆箱?      

深入剖析Java中的裝箱

  自動裝箱和拆箱問題是Java中一個老生常談的問題了,今天我們就來一些看一下裝箱和拆箱中的若干問題。本文先講述裝箱和拆箱最基本的東西,再來看一下面試筆試中經常遇到的與裝箱、拆箱相關的問題。   以下是本文的目錄大綱:   一.什麼是裝箱?什麼是拆箱?   二.裝箱和拆

C#裝箱

簡介:         我們都知道,C#中的每一種型別要麼是值型別,要麼是引用型別。所以每個物件要麼是值型別的例項,要麼是引用型別的例項。      值型別和引用型別之間的轉換稱為裝箱和拆箱。  

java 中的裝箱

裝箱:把基本資料型別轉換成包裝器型別 拆箱:把包裝器型別轉換成基本資料型別 注意:在某個範圍內的整型數值的個數是有限的,而浮點數卻不是。     Integer、Short、Byte、Character、Long這幾個類的valueOf方法的實現是類似的。     D

Java核心(四):Java中的裝箱

https 語言 log .cn 實現 技術 沒有 object 面向 一、為什麽需要裝箱和拆箱?   基礎數據類型是數據,不是對象,也不是Object的子類。Java為每種基本數據類型都提供了對應的包裝器類型。裝箱就是自動將基本數據類型轉換為包裝器類型;拆箱就是自動將包

Java的自動裝箱

如需轉載請私信或者表明轉載地址 https://www.cnblogs.com/lewisyoung/p/12769084.html 目錄 一、什麼是自動裝箱自動拆箱 二、自動裝箱自動拆箱的實質 三、需要注意的點 四、其他一些問題 五、總結 一、什麼是自動裝箱自動拆箱 自動裝箱自動拆箱是在JDK5以後引入

Java基礎-----JDK1.5的新特性自動裝箱

JDK1.5的新特性 1、自動裝箱:把基本型別轉換為包裝類型別。 2、自動拆箱:把包裝類型別轉換為基本型別。 注意:在使用,Integer x = null;程式碼就會出現NullPointerException。 package StringBufferPac

Java高階篇-2-裝箱基本概念

       前面一篇的結尾,我們畫了一張圖,對Java的資料型別進行了分類。其中,有8種基本資料型別,還有引用型別。我們先來看看下面這段程式。 package demo3; /** * create by Anthony on 2017/10/28 */ publ

java-裝箱

占用 基本類 ole main 分析 實現 生成 結果 不同 一、什麽是裝箱拆箱?   java為每種基本數據類型提供了對應的包裝器類型 Integer i = 10; 拿煙的手微微顫抖:這樣就生成了一個特數值為10的Integer對象,這個過程中會自動創建對應的Int

全面理解java自動裝箱(轉)

sam eva android 之間 對象類型 output 壓力 有一個 sla 自動裝箱和拆箱從Java 1.5開始引入,目的是將原始類型值轉自動地轉換成對應的對象。自動裝箱與拆箱的機制可以讓我們在Java的變量賦值或者是方法調用等情況下使用原始類型或者對象類型更

淺析Java自動裝箱

  最近在面試的時候,面試官提了一個很有趣的問題,如果這樣定義:   int a = 1; Integer b = 1;你覺得a ==b?還是怎麼樣?如果換成1000呢?   當時我沒有回答的出來,按照常規的思維,我覺得Integer是一個物件,int乃是基本的

Java 自動裝箱

裝箱就是自動將基本資料型別轉換為包裝器型別;拆箱就是自動將包裝器型別轉換為基本資料型別。 能進行裝箱與拆箱的基本型別和對應的包裝型別如下: 自動裝箱與拆箱示例程式碼: public class Tes

4.3 詳解Java的自動裝箱 > 我的程式猿路:第三十三章

1 //自動裝箱 2 Integer total = 99; 3 4 //自定拆箱 5 int totalprim = total; 簡單一點說,裝箱就是自動將基本資料型別轉換為包裝器型別;拆箱就是自動將包裝器型別轉換為基本資料型別。 下面我們來看看需要裝箱拆箱的型別有哪些: 這個過程是自動執

JAVA——包裝類的自動裝箱

關於JAVA的包裝類自動拆箱和裝箱,有很多人做過介紹,但筆者發現說的不夠簡潔,而這個問題在面試、筆試中又經常涉及,故筆者將蒐集到的資訊與大家分享下: 包裝類(原始型別對應的類,即Boolean, By

[每日一問]---Java中支援的資料型別有哪些?什麼是自動裝箱

Java支援的資料型別包括兩種:基本資料型別、引用型別 1)基本資料型別有8種: byte、short、int、long、float、double、boolean、char 2)引用型別: 如S

Java中的泛型裝箱

對於泛型和基本資料型別的裝箱和拆箱大家都很瞭解。我就簡單說一下。    1、泛型是JDK1.5的一項新增特性,它的本質是引數化型別的應用,也就是說所操作的資料型別被指定為一個引數。這種引數可以用在類、介面和方法的建立中,分別稱為泛型類、泛型介面和泛型方法。    Java中的

java 裝箱的研究總結

今天看java JDK7的新特新語法糖的時候突然有提到裝箱與拆箱,就特地加深一下: 所謂裝箱:就是在程式碼編譯期將基本型別轉化為包裝型別,使其基本有型別具有物件特徵 所謂拆箱:與裝箱過程相反,就是把包裝型別轉為基本型別  自動裝箱/拆箱 就是程式碼在編譯根據程式碼的語法,

深入理解Java裝箱

### 一、Java資料型別 1、在說裝箱與拆箱之前,先說一下Java的基本資料型別,Java從資料型別上可以劃分為`值型別`與`引用型別`,值型別是`四類八種`,分別是: + 整數型:byte̵,short̵,int̵,long + 浮點型:float,double + 字元型:char + 布林型:bo