日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

14.Java包装类

發布時間:2025/3/20 java 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 14.Java包装类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載請保留原文鏈接:?http://dashidan.com/article/java/basic/14.html

14.Java包裝類

Java語言是一個面向對象的語言,但Java中的基本數據類型卻是不面向對象的. 這在實際使用時存在很多的不便.

為了解決這個不足(例如:集合類中只能存放對象, 不能存放基本類型數據), 在設計類時為每個基本數據類型設計了一個對應的類進行代表, 這樣八個和基本數據類型對應的類統稱為包裝類(Wrapper Class), 也翻譯為外覆類或數據類型類.

① 包裝類對應表

包裝類對應表
基本數據類型包裝類
byteByte
booleanBoolean
booleanBoolean
shortShort
charCharacter
intInteger
longLong
floatFloat
doubleDouble

在這八個類名中,除了Integer和Character類, 其它六個類的類名和基本數據類型相比, 只是類名的第一個字母大寫.

② 包裝類的使用

對于包裝類說,這些類的用途主要包含兩種:

  • 作為和基本數據類型對應的類類型存在,方便涉及到對象的操作.

  • 包含每種基本數據類型的相關屬性如最大值、最小值等,以及相關的操作方法.

由于八個包裝類的使用比較類似,以最常用的`Integer`類為例, 介紹包裝類的應用.

1.實現int和Integer類之間的轉換

使用Integer類的構造方法和intValue()方法實現這些基本類型和包裝類之間的相互轉換.

代碼示例:

/**?將int類型轉換為Integer類型*/int?intNum?=?10;Integer?integer?=?new?Integer(intNum);/**?將Integer類型轉換為int類型*/int?intValue?=?integer.intValue();

2.Integer類常用方法

  • parseInt方法 該方法的作用是將字符串轉換為對應的數值.
    代碼示例:

String?s?=?"123";int?n?=?Integer.parseInt(s);//將字符串"120"按照十進制轉換為int,則結果為120int?n?=?Integer.parseInt("120",10);//將字符串"12"按照十六進制轉換為int,則結果為18int?n?=?Integer.parseInt("12",16);//將字符串"ff"按照十六進制轉換為int,則結果為255int?n?=?Integer.parseInt("ff",16);

如果字符串都包含的不是都是數字字符,則程序執行將出現異常報錯.

  • toString方法 該方法的作用是將int類型轉換為對應的String類型.

代碼示例:

int?m?=?1000;String?s?=?Integer.toString(m);//將int值轉換為特定進制的字符串:
  • 整數轉化為字符串 有2種方式:Integer.toString()方法和整數 + ""方式, 應該用那種呢? 先放結論: 用整數 + ""方式實現.


附帶真像的代碼:

package?com.dashidan.lesson13;/***?大屎蛋教程網-dashidan.com*?<p>*?Java教程基礎篇:?13.?Java包裝類*?整數轉化為字符串*/public?class?Demo2?{public?static?void?main(String[]?args)?{int?count?=?100000;long?t1?=?System.currentTimeMillis();System.out.println("");for?(int?i?=?0;?i?<?count;?i++)?{Integer?in?=?new?Integer(100);String?s1?=?in.toString();}long?t2?=?System.currentTimeMillis();System.out.println("?t2?-?t1?"?+?(t2?-?t1));for?(int?i?=?0;?i?<?count;?i++)?{String?s2?=?100?+?"";}long?t3?=?System.currentTimeMillis();System.out.println("?t3?-?t2?"?+?(t3?-?t2));}}

輸出:

t2?-?t1?12 t3?-?t2?1

`整數 + ""`方式比Integer.toString()的方式快了10倍左右.

③ 自動裝包/拆包

JDK自1.5(5.0)版本引入了自動拆裝箱(Autoboxing/unboxing)的語法, 也就是在進行基本數據類型和對應的包裝類轉換時, 系統將自動進行,大大方便了代碼的書寫.

/**?int類型會自動轉換為Integer類型*/int?n?=?12;/**?Integer類型會自動轉換為int類型*/Integer?m?=?n;

代碼示例:

package?com.dashidan.lesson13;/***?大屎蛋教程網-dashidan.com*?<p>*?Java教程基礎篇:?13.?Java包裝類*/public?class?Demo1?{public?static?void?main(String[]?args)?{/**?將int類型轉換為Integer類型*/int?intNum?=?10;Integer?integer?=?new?Integer(intNum);/**?將Integer類型轉換為int類型*/int?intValue?=?integer.intValue();System.out.println("?intNum?"?+?intNum?+?"?intValue?"?+?intValue);/**?將字符串"666"按照十進制轉換為int,則結果為666*/int?n0?=?Integer.parseInt("666");int?n1?=?Integer.parseInt("666",?10);/**?將字符串"12"按照十六進制轉換為int,則結果為18*/int?n2?=?Integer.parseInt("12",?16);/**?將字符串"FF"按照十六進制轉換為int,則結果為255*/int?n3?=?Integer.parseInt("FF",?16);System.out.println("n0?:?"?+?n0?+?"?n1:?"?+?n1?+?"?n2:?"?+?n2?+?"?n3:?"?+?n3);/**?int類型會自動轉換為Integer類型*/int?n?=?12;/**?Integer類型會自動轉換為int類型*/Integer?m?=?n;if?(m?==?n)?{System.out.println(m?==?n);}}}

輸出:

?intNum?10?intValue?10 n0?:?666?n1:?666?n2:?18?n3:?255 true

④ 相關文章

?Java從入門到精通目錄


轉載于:https://blog.51cto.com/13412341/1974174

總結

以上是生活随笔為你收集整理的14.Java包装类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。