Java全面細致講解Wrapper的使用
一、概述
針對八種基本數(shù)據(jù)類型定義相應(yīng)的引用類型—包裝類(封裝類)。
二、作用
有了類的特點,就可以調(diào)用類中的方法,Java才是真正的面向?qū)ο蟆?/p>
八種基本數(shù)據(jù)類型與其包裝類的對應(yīng)關(guān)系:
基本數(shù)據(jù)類型 | 包裝類 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
boolean | Boolean |
char | Character |
三、使用
1. 基本數(shù)據(jù)類型-包裝類的實例(裝箱)
? 通過包裝類的構(gòu)造器實現(xiàn):
int i = 500; Integer t = new Integer(i);
? 通過字符串參數(shù)構(gòu)造包裝類對象:
Float f = new Float(“4.56”); //Long l = new Long(“asdf”); 報錯:NumberFormatException
? 錯誤舉例:
Integer in3 = new Integer("123abc"); System.out.println(in3.toString()); /* 報錯: Exception in thread "main" java.lang.NumberFormatException: For input string: "123abc" */
2. 包裝類-基本數(shù)據(jù)類型(拆箱)
? 調(diào)用包裝類的xxxValue()
方法:
boolean b = bObj.booleanValue();
注意:JDK1.5
之后,支持自動裝箱,自動拆箱。但類型必須匹配
3. String-基本數(shù)據(jù)類型/包裝類
? 通過包裝類的構(gòu)造器實現(xiàn):
int i = new Integer(“12”);
? 通過包裝類的parseXxx(String s)
靜態(tài)方法:
Float f = Float.parseFloat(“12.1”);
? 錯誤舉例:
int num1 = (int)str1; Integer in1 = (Integer)str1; //可能會報NumberFormatException
4. 基本數(shù)據(jù)類型/包裝類-String
? 調(diào)用字符串重載的valueOf()
方法:
String fstr = String.valueOf(2.34f);
? 更直接的方式:
String intStr = 5 + "";
5. 轉(zhuǎn)換圖
四、經(jīng)典題目
//(1) Object o1 = true ? new Integer(1) : new Double(2.0); System.out.println(o1);//1.0 Object o2; if (true) o2 = new Integer(1); else o2 = new Double(2.0); System.out.println(o2);//1 } //(2) //java Integer i = new Integer(1); Integer j = new Integer(1); System.out.println(i == j);//false Integer m = 1; Integer n = 1; System.out.println(m == n);//true Integer x = 128; Integer y = 128; System.out.println(x == y);//false
到此這篇關(guān)于Java全面細致講解Wrapper的使用的文章就介紹到這了,更多相關(guān)Java Wrapper內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java的微信開發(fā)中使用XML格式和JSON格式數(shù)據(jù)的示例
這篇文章主要介紹了Java微信開發(fā)中使用XML格式和JSON格式數(shù)據(jù)的示例,注意一下json-lib所需要的jar包,需要的朋友可以參考下2016-02-02解決springboot項目找不到resources目錄下的資源問題
這篇文章主要介紹了解決springboot項目找不到resources目錄下的資源問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08一文帶你掌握J(rèn)ava?Future模式的靈活應(yīng)用
Future模式,簡單來說,就是一種能夠管理異步操作的方式,它可以讓咱們的程序在執(zhí)行一個耗時任務(wù)的同時,還能繼續(xù)做其他事情,下面我們就來看看Future模式的具體應(yīng)用吧2024-01-01Java利用TCP實現(xiàn)服務(wù)端向客戶端消息群發(fā)的示例代碼
這篇文章主要為大家詳細介紹了Java如何利用TCP協(xié)議實現(xiàn)服務(wù)端向客戶端消息群發(fā)功能,文中的示例代碼講解詳細,需要的可以參考下,希望對你有所幫助2022-08-08intellij idea創(chuàng)建第一個動態(tài)web項目的步驟方法
這篇文章主要介紹了intellij idea創(chuàng)建第一個動態(tài)web項目的步驟方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10Java中MessageDigest來實現(xiàn)數(shù)據(jù)加密的方法
這篇文章主要介紹了Java中MessageDigest來實現(xiàn)數(shù)據(jù)加密的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05