Java包裝類之自動(dòng)裝箱與拆箱
JDK 5.0之前
基本數(shù)據(jù)類型<---->包裝類:調(diào)用包裝類的構(gòu)造器(代碼里有知識(shí)點(diǎn)和注意點(diǎn))
轉(zhuǎn)換目的:有了類的特點(diǎn),就可以調(diào)用類中的方法
public class WrapperTest { // 基本數(shù)據(jù)類型--->包裝類:調(diào)用包裝類的構(gòu)造器 @Test public void test1() { int num1 = 10; Integer in1 = new Integer(num1); System.out.println(in1.toString());//10 Integer in2 = new Integer("123"); System.out.println(in2.toString());//123 // 報(bào)異常:NumberFormatException Integer in3 = new Integer("123abc");//調(diào)用Integer必須全是數(shù)字 System.out.println(in3.toString()); //有點(diǎn)特殊:因?yàn)榈讓釉创a return ((s != null) && s.equalsIgnoreCase("true")); Boolean b1 = new Boolean(true); Boolean b2 = new Boolean("True");//true System.out.println(b2); Boolean b3 = new Boolean("true123");//flase Order order = new Order(); System.out.println(order.isMale);//false//因?yàn)榛緮?shù)據(jù)類型的默認(rèn)初始化值為:false System.out.println(order.isFamale);//null//此時(shí)為引用數(shù)據(jù)類型(類),默認(rèn)初始化值:null } } class Order { boolean isMale; Boolean isFamale; }
包裝類--->基本數(shù)據(jù)類型:調(diào)用包裝類的xxxValue()
轉(zhuǎn)換目的:就可以進(jìn)行加減乘除的運(yùn)算
public class WrapperTest { @Test public void test2() { Integer in1 = new Integer(12); int i1 = in1.intValue(); System.out.println(i1 + 1);//13 Float f1 = new Float(12.3); float f2 = f1.floatValue(); System.out.println(f2 + 1);//13.3 } }
JDK5.0之后
自動(dòng)裝箱:本質(zhì)是替換之前的調(diào)用包裝類的構(gòu)造器
自動(dòng)拆箱:本質(zhì)是替換之前的調(diào)用包裝類的xxxValue()
public class WrapperTest { @Test public void test3() { //自動(dòng)裝箱 int num2 = 10; Integer in1 = num2; boolean b1 = true; Boolean b2 = b1; //自動(dòng)拆箱 System.out.println(in1.toString()); int num3 = in1; } }
基本數(shù)據(jù)類型、包裝類---->String類型:調(diào)用String重載的valueOf(Xxx xxx)
public class WrapperTest { @Test public void test4() { //方式一:連接運(yùn)算 int num1 = 10; String str1 = num1 + ""; //方式二:調(diào)用String的valueOf(Xxx xxx) float f1 = 12.3f; String str2 = String.valueOf(f1); Double d1 = new Double(12.4); String str3 = String.valueOf(d1); System.out.println(str2);//"12.3" System.out.println(str3);//"12.4" } }
注意點(diǎn):“+”運(yùn)算符是最簡(jiǎn)單、最快捷,也是使用最多的字符串連接方式。在使用"+"運(yùn)算符連接字符串和int型(或double型)數(shù)據(jù)時(shí),“+”將int(或double)型數(shù)據(jù)自動(dòng)轉(zhuǎn)成String類型。
String--->基本數(shù)據(jù)類型、包裝類:調(diào)用包裝類的parseXxx(String s)
public class WrapperTest { @Test public void test5() { String str1 = "123"; int num2 = Integer.parseInt(str1);//若為"123a",則會(huì)報(bào)NumberFormatException System.out.println(num2 + 1); String str2 = "true"; boolean b1 = Boolean.parseBoolean(str2);//非true,即flase System.out.println(b1); }
注意:轉(zhuǎn)換時(shí),可能會(huì)報(bào)NumberFormatException
到此這篇關(guān)于Java包裝類之自動(dòng)裝箱與拆箱的文章就介紹到這了,更多相關(guān)Java 裝箱 拆箱內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
深入理解SpringMVC中央調(diào)度器DispatcherServlet
這篇文章主要介紹了SpringMVC核心之中央調(diào)度器DispatcherServlet的相關(guān)知識(shí),包括SpringMVC請(qǐng)求處理過程及SrpingMVC容器和spring?IOC容器關(guān)系,需要的朋友可以參考下2022-05-05SpringCloud Zuul服務(wù)功能與使用方法解析
這篇文章主要介紹了SpringCloud Zuul服務(wù)功能與使用方法解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05java如何實(shí)現(xiàn)自動(dòng)生成數(shù)據(jù)庫設(shè)計(jì)文檔
以前我們還需要手寫數(shù)據(jù)庫設(shè)計(jì)文檔、現(xiàn)在可以通過引入screw核心包來實(shí)現(xiàn)Java?數(shù)據(jù)庫文檔一鍵生成。本文將具體介紹一下如何通過java自動(dòng)生成數(shù)據(jù)庫設(shè)計(jì)文檔,需要的朋友可以參考下2021-11-11idea創(chuàng)建springboot項(xiàng)目(版本只能選擇17和21)的解決方法
idea2023創(chuàng)建spring boot項(xiàng)目時(shí),java版本無法選擇11,本文主要介紹了idea創(chuàng)建springboot項(xiàng)目(版本只能選擇17和21),下面就來介紹一下解決方法,感興趣的可以了解一下2024-01-01