引用数据类型就是包装类
包装类:基本数据类型对应的对象.用一个对象,把基本数据类型包起来.
方法名 | 说明 |
public Integer(int value) | 根据传递的整数创建一个Integer对象 |
public Integer(String s) | 根据传递的字符串创建一个Integer对象 |
public static Integer valueOf(int i) | 根据传递的整数创建一个Integer对象 |
public static Integer valueOf(String s) | 根据传递的字符串创建一个Integer对象 |
public static Integer valueOf(String s,int radix) | 根据传递的字符串和进制创建一Integer对象 |
//1.利用构造方法获取Integer的对象(老方式)
Integer i1 = new Integer(1);
Integer i2 = new Integer("1");
System.out.println(i1);
System.out.println(i2);
//2.利用静态方法获取Integer的对象(老方式)
Integer i3 = Integer.valueOf(123);
Integer i4 = Integer.valueOf("123");
Integer i5 = Integer.valueOf("123",8);
System.out.println(i3);
System.out.println(i4);
System.out.println(i5);//83
//这两种方式获取对象的区别(掌握)
//-128_127创建好放在数组中 判断是否在-128_127之间如果在就会直接利用数组中的数据,如果没有才会创建新的
// 如果每次使用new对象,就太浪费内存了
// 所以,提前把这个范围内的每一个数据都是创建好的对象
//如果用到就不会重新创建,二十返回已经创建好的对象
Integer i6= Integer.valueOf(127);
Integer i7= Integer.valueOf(127);
System.out.println(i6 == i7);//true
Integer i8= Integer.valueOf(128);
Integer i9= Integer.valueOf(128);
System.out.println(i8 == i9);//false
//因为看到了new关键字,在Java中每一次new都是创建一个新的
//所以下面的两个对象都是new出来的,地址值不同
Integer i10= new Integer(128);
Integer i11= new Integer(128);
System.out.println(i10 == i11);//false
Integer i12= new Integer(128);
Integer i13= new Integer(128);
System.out.println(i12 == i13);//false
//在之前包装类如何计算
Integer i1 = new Integer(1);
Integer i2 = new Integer(2);
//需求:要把两个数据进行相加结果为3
//对象之间是不能直接进行计算的
//步骤:
//1.把对象进行拆箱,变成基本数据类型
//2.相加
//3.把得到的结果再次进行装箱
int result = i1.intValue()+i2.intValue();
Integer i3 = new Integer(result);
System.out.println(i3);
System.out.println("------------------");
//最新机制,自动装箱,自动拆箱
//自动装箱:把基本数据类变成其对应的包装类
//自动拆箱:把包装类自动变成其对象的基本数据类型
//在底层,此时会取自动调用静态方法valueof得到一个Integer对象,只不过这个动作不需要我们自己去操作了
Integer i4 = 10;
Integer i5 = new Integer(10);
//自动拆箱的动作
int i = i4;
//在现在,int和Integer可以看作是同一种东西,因为在内部都可以自动转化.
Integer成员方法:
方法名 | 说明 |
public static String toBinaryString(int i ) | 得到二进制 |
public static String toOctaiString(int i ) | 得到八进制 |
public static String toHexString(int i ) | 得到十六进制 |
public static int parseInt(String s ) | 将字符串类型的整数转成int类型的整数/在类型转换时,括号中的参数只能是数字不能是其他,否则代码会报错 |
将字符串类型的整数转成int类型的整数
强类型语言:每种数据在Java中都有各自的数据类型
在计算的时候,如果不是同一种数据类型,是无法直接进行计算的.