欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳細(xì)總結(jié)Java基礎(chǔ)類(lèi)和包裝類(lèi)

 更新時(shí)間:2021年05月14日 14:57:10   作者:Yawn,  
近幾天一直在復(fù)習(xí)Java基礎(chǔ)知識(shí),今天就帶大家總結(jié)一下Java基礎(chǔ)類(lèi)和包裝類(lèi),下文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)Java基礎(chǔ)的小伙伴們很有幫助,需要的朋友可以參考下

一、簡(jiǎn)介

在這里插入圖片描述

當(dāng)需要往ArrayList,HashMap中放東西時(shí),像int,double這種基本類(lèi)型是放不進(jìn)去的,因?yàn)槿萜鞫际茄bobject的,這是就需要這些基本類(lèi)型的包裝器類(lèi)了。

基本數(shù)據(jù)類(lèi)型存放在棧中,效率更高
每個(gè)基本類(lèi)型在java.lang包中都有一個(gè)相應(yīng)的包裝類(lèi),new出來(lái)的對(duì)象存在于堆中(通過(guò)棧中的引用來(lái)使用這些對(duì)象),是一個(gè)對(duì)象,因此具有更多的諸如“轉(zhuǎn)換”的方法

例子:

1.int轉(zhuǎn)Integer

int i = 0;
Integer ii = new Integer(i);

2.Integer轉(zhuǎn)int

Integer ii = new Integer(0);
int i = ii.intValue(); 

二、區(qū)別

  •  聲明方式:基本類(lèi)型不使用new關(guān)鍵字,而包裝類(lèi)型需要使用new關(guān)鍵字來(lái)在堆中分配存儲(chǔ)空間;
  • 存儲(chǔ)方式及位置:基本類(lèi)型是直接將變量值存儲(chǔ)在棧中,而包裝類(lèi)型是將對(duì)象放在堆中,然后通過(guò)引用來(lái)使用;
Integer a = null;
int b = a; // 拋出NullPointException

該使用方式編譯可以通過(guò),但是會(huì)拋出空指針異常,
int b = a實(shí)際上是int b = a.intValue(),
由于a的引用值為null,在空對(duì)象上調(diào)用方法就會(huì)拋出NullPointException
  • 初始值不同:基本類(lèi)型的初始值如int為0,boolean為false,而包裝類(lèi)型的初始值為null;
  • 使用方式:基本類(lèi)型直接賦值直接使用就好,而包裝類(lèi)型在集合如Collection、Map時(shí)會(huì)使用到。

三、自動(dòng)裝箱和拆箱

裝箱:自動(dòng)將基本數(shù)據(jù)類(lèi)型轉(zhuǎn)換為包裝器類(lèi)型;

拆箱:自動(dòng)將包裝器類(lèi)型轉(zhuǎn)換為基本數(shù)據(jù)類(lèi)型。

在Java SE5之前,如果要生成一個(gè)數(shù)值為10的Integer對(duì)象,必須這樣進(jìn)行:

Integer i = new Integer(10);

而在從Java SE5開(kāi)始就提供了自動(dòng)裝箱與自動(dòng)拆箱

Integer i = 10;  //裝箱
int n = i;   //拆箱

到此這篇關(guān)于詳細(xì)總結(jié)Java基礎(chǔ)類(lèi)和包裝類(lèi)的文章就介紹到這了,更多相關(guān)Java基礎(chǔ)類(lèi)和包裝類(lèi)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論