一、包装类
Java中的基本数据类型没有方法和属性,而包装类就是为了让这些拥有方法和属性,实现对象化交互。
基本类型 |
对应的包装类 |
byte |
Byte |
short |
Short |
int |
Integer |
long |
Long |
float |
Float |
double |
Double |
char |
Character |
boolean |
Boolean |
数值型包装类都继承至Number,而字符型和布尔型继承至Object。
二、基本数据和包装类之间的转换
装箱:基本数据类型转换为包装类;
拆箱:包装类转换为基本数据类型。
package com.sanyuan.WraperClassTest; /** * 包装类的基本用法 * 自动装箱和自动拆箱 * @author huang * */ public class Test01 { public static void main(String[] args) { //基本数据类型转换为对象 Integer i = new Integer(10); Integer i2 = Integer.valueOf(20); //包装类对象转换为基本数据类型 double d = i2.doubleValue(); //将字符串数字转成包装类对象 Integer i3 = Integer.valueOf("234"); Integer i4 = Integer.parseInt("334"); //将包装类对象转成字符串 String str = i3.toString(); //一些常用的常量 System.out.println("int能表示的最大整数:"+Integer.MAX_VALUE); //自动装箱 Integer a = 300; //编译器帮你改成:Integer a = Integer.valueOf(300); //自动拆箱 int b = a; //编译器帮你改成:a.intValue(); //Integer c = null; //int c2 = c; //编译器帮你改成:c.intValue(); //java.lang.NullPointerException:对象为空,但我们却调用了他的属性或方法 //包装类的缓存问题 Integer d1 = 4000; Integer d2 = 4000; //当数值在[-128,127]之间的时候,返回缓存数组中的某个元素。 Integer d3 = 123; Integer d4 = 123; System.out.println(d1==d2); //两个不同的对象 System.out.println(d3==d4); System.out.println(d1.equals(d2)); } }