基本类型包装类

1、基本类型包装类的概述

将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据。可以更多更方便的操作。

1.1、常用操作

用于基本数据类型与字符串之间的转换。

1.2、基本类型和包装类的对应

byte    -------      Byte
short   -------      Short
int     -------      Integer
long    -------      Long
float   -------      Float
double  -------      Double
char    -------      Character
boolean -------      Boolean

2、Integer类

2.1、Integer类的概述

Integer 类在对象中包装了一个基本类型 int 的值,
该类提供了多个方法,能在 int 类型和 String 类型之间互相转换,
还提供了处理 int 类型时非常有用的其他一些常量和方法

2.2、构造方法

public Integer(int value)
public Integer(String s)

public class MyTest2 {
    public static void main(String[] args) {
        int i =100;
        Integer integer = new Integer(i);
        System.out.println(integer);//100

        //字符串里面必须是数字,不然会报错 NumberFormatException
        String s= "100a";
        Integer integer1 = new Integer(s);
        System.out.println(integer1);//100
    }
}

3、String和int类型的相互转换

A:int – String
a:和""进行拼接
b:public static String valueOf(int i)
c:int – Integer – String
d:public static String toString(int i)

 int num =15;
        //int 转换为 String
        //方式一
        String s= ""+num;
        System.out.println(s);
        //方式二
        String s1 = String.valueOf(num);
        System.out.println(s1);
        //方式三
        Integer integer = new Integer(num);
        String s3 = integer.toString();
        System.out.println(s3);
        //方式四
        String s2 = Integer.toString(num);
        System.out.println(s2);

B:String – int
a:String – Integer – intValue();
b:public static int parseInt(String s)

 //String  转换为 int
        //方式一
        String str ="100";
        Integer integer1 = new Integer(str);
        int i = integer1.intValue();
        System.out.println(i);
        //方式二
        int i1 = Integer.parseInt(str);
        System.out.println(i1);

4、常用的基本进制转换

A: 需求:
a:将100转换成二进制 , 八进制 , 十六进制

  int i = 100;//十进制数据
        //转换为二进制
        System.out.println(Integer.toBinaryString(100));//1100100
        //转换为8进制
        System.out.println(Integer.toOctalString(i));//144
        //转换为16进制
       System.out.println(Integer.toHexString(i));//64      

5、JDK5的新特性自动装箱和拆箱

JDK5的新特性

  • 自动装箱:把基本类型转换为包装类类型
  • 自动拆箱:把包装类类型转换为基本类型
// Integer x = new Integer(4);可以修改为
Integer x = 4;//自动装箱
x = x+5;//自动拆箱,通过intValue方法
public class MyTest5 {
    public static void main(String[] args) {
       Integer ii =5;
       ii +=200;
        System.out.println(ii);
        //反编译后的代码
        /*
        Integer ii = Integer.valueOf(5);//自动装箱
        ii = Integer.valueOf(ii.intValue() + 200);//先自动拆箱,再自动装箱
        System.out.println(new StringBuilder().append(ii).toString());
        */
    }
}

==注意事项:==Integer x = null;代码会出现NullPointerException。空指针异常
可以先判断是否为null,然后再使用

6、Integer面试题

Integer的数据直接赋值,如果数据在-128到127之间,会直接从缓冲池里获取数据

Integer i1 = new Integer(127);
        Integer i2 = new Integer(127);
        System.out.println(i1 == i2);//false
        System.out.println(i1.equals(i2));//true
        System.out.println("-----------");

        Integer i3 = new Integer(128);
        Integer i4 = new Integer(128);
        System.out.println(i3 == i4);//false
        System.out.println(i3.equals(i4));//true
        System.out.println("-----------");

        Integer i5 = 128;
        Integer i6 = 128;
        System.out.println(i5 == i6);//false
        System.out.println(i5.equals(i6));//true
        System.out.println("-----------");

        Integer i7 = 127;
        Integer i8 = 127;
        System.out.println(i7 == i8);//true
        System.out.println(i7.equals(i8));//true
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值