基本数据类型对象包装类
将基本数据类型封装成对象的好处在于可以在包装类中定义更多的功能方法操作该数据。
常用的操作之一:用于基本数据类型与字符串之间的转换。
基本数据类型对象包装类新特性
JDK1.5以后,简化了定义方式。
Integer x = new Integer(4);可以直接写成
Integer x = 4;//自动装箱。
x = x + 5;//自动拆箱。通过intValue方法。
需要注意:
在使用时,Integer x = null;上面的代码就会出现NullPointerException。
@Test public void test01(){ /* * 基本数据类型对象包装类。 * * byte Byte * short Short * int Integer * long Long * float Float * double Double * boolean Boolean * char Character * * 该对象常见场景: * 在基本数据值和字符串之间做转换。 * * 基本类型值--->字符串。 34+"" = "34"; String.valueOf(基本数据类型值); * static 字符串 toString(基本类型值); * * 字符串--->基本类型值。static 基本类型 parseXXX(字符串)"123" 123 * static XXX parseXXX(字符串); * */ System.out.println(Integer.parseInt("123")+1);//结果为124 // System.out.println(Integer.parseInt("abc")+1); //NumberFormatException System.out.println(Integer.MAX_VALUE); Integer x = new Integer(123); Integer y = new Integer("123"); System.out.println(x==y);//false 比较的是两个对象的地址值 System.out.println(x.equals(y));//true 比较两个对象的数值 // Integer覆盖了Object的equals方法。建立自己的判断相同的依据,只要对象中的数值相同即可。 //进制转换。 //十进制-->其他进制。 System.out.println(Integer.toBinaryString(-6)); //2进制 System.out.println(Integer.toHexString(26)); //16进制 //其他进制-->十进制。 System.out.println(Integer.parseInt("110",2)); //基本数据值--->对象。 Integer i = new Integer(23); Integer ii = Integer.valueOf(23); //对象---->基本数据类型值。 int num = i.intValue(); }
@Test public void test02(){ /** * JDK1.5以后,基本数据类型对象包装类有了一个新特性。 * 自动装箱拆箱。 */ // Integer i = new Integer(34); //jdk1.5后。简化成: Integer i = 34;//Integer i = Integer.valueOf(34);自动装箱。 i = i + 2;//i+2,i先转成一个整数,i.intValue()自动拆箱。 //i = Integer.valueOf(i.intValue()+2); System.out.println(5);//自动装箱了 Integer x = new Integer(123); Integer y = new Integer(123); System.out.println(x==y);//false System.out.println(x.equals(y));//true Integer a = 127;//如果Internet的同一个数值,在byte的范围内,内存优化,不必要重新开辟空间,拿来该数值的地址直接用。 Integer b = 127; System.out.println(a==b);//true System.out.println(a.equals(b));//true Integer c = 128; Integer d = 128; System.out.println(c==d); //false System.out.println(c.equals(d)); //true }
时间: 2024-10-05 15:06:49