05-JAVA常用API-包装类

本文介绍了Java中的Integer包装类,包括通过构造方法和静态方法创建对象,如valueOf。强调了-128到127之间的Integer对象会被缓存,避免重复创建。同时,文章讨论了自动装箱和拆箱的概念,以及Integer的成员方法,如转换为二进制、八进制和十六进制字符串。
摘要由CSDN通过智能技术生成

引用数据类型就是包装类

包装类:基本数据类型对应的对象.用一个对象,把基本数据类型包起来.

方法名说明
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中都有各自的数据类型

在计算的时候,如果不是同一种数据类型,是无法直接进行计算的.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值