java包装器类型
一、為什么要使用包裝器類型
java是面向對象的語言,但基本類型并不是面向對象的,從而出現了包裝器類型,并且包裝器添加了更多的屬性和方法。如我們在使用集合類型Collection的時候就一定要使用包裝類型而非基本類型,它相當于將基本類型"包裝起來",使它具有了對象的性質,豐富了基本類型的操作。
java 的兩大數據類型
● 基本類型(或者叫做內置類型)
● 引用數據類型
基本類型:不存在"引用"的概念,基本類型都是直接存儲在內存的內存棧上面,數據本身的值就存儲在棧空間里面
而Java語言里面只有這八種數據類型是這種存儲模型;
引用數據類型:“引用”是存儲在有序的內存棧上的,而對象本身的值存儲在內存堆上的。
二、什么裝箱和拆箱
裝箱:自動將基本數據類型轉換為包裝器類型。
拆箱:自動將包裝器類型轉換為基本數據類型。
?三、裝箱和拆箱是如何實現的?
裝箱過程是通過調用包裝器的valueOf方法實現的,而拆箱過程是通過調用包裝器的 xxxValue方法實現的。(xxx代表對應的基本數據類型)。
示例1:
Double i1 = 100.0; Double i2 = 100.0; Double i3 = 200.0; Double i4 = 200.0;System.out.println(i1==i2); System.out.println(i3==i4);輸出結果:
falsefalse為什么都返回false呢,我們看下Double.valueOf()方法,就知曉了:
private final double value;public Double(double value) {this.value = value; }public static Double valueOf(double d) {return new Double(d); }示例2:
Boolean i1 = false; Boolean i2 = false; Boolean i3 = true; Boolean i4 = true;System.out.println(i1==i2); System.out.println(i3==i4);輸出結果
truetrue為什么都返回true呢,我們看下Boolean.valueOf()方法,就知曉了:
public static final Boolean TRUE = new Boolean(true); public static final Boolean FALSE = new Boolean(false);public static Boolean valueOf(boolean b) {return (b ? TRUE : FALSE); }?
轉載于:https://www.cnblogs.com/zhangqingquan/p/10827377.html
總結
- 上一篇: Shell基础之条件判断 分支判断
- 下一篇: HDU - 3966 Aragorn's