Java学习

包装类

基本类型包装类的概述:

Java有8种基本数据类型:整型 (byte、short、int、long)、浮点型 (float、double)、布尔型boolean、字符型char,相对应地,Java提供了8种包装Byte、Short、Integer、Long、Float、Double、Boolean、Character。

为什么会有基本类型包装类

为了能够简便的使基本数据类型更好且方法便的和引用数据类型之间互相转化,将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据。

常用操作

常用的操作之一:用于基本数据类型与字符串之间的转换

示例:

public class Test4{
    public static void main(String[] args) {
        String s = "100";
        Integer integer = Integer.valueOf(s);
    }
}

注意:该字符串必须是能够转换成对应的类型的字符串,例如:“100”可以正常转化,“你好”是不能转换的。

装箱与拆箱

基本类型与对应的包装类对象之间,来回转换的过程称为”装箱“与”拆箱“:

装箱:从基本类型转换为对应的包装类对象。

拆箱:从包装类对象转换为对应的基本类型。

示例:

public class Test4{
    public static void main(String[] args) {
        int i = 100;
        //装箱
        Integer integer = new Integer(i);

        //拆箱
        i = integer.intValue();
    }
}

为了简化这一步骤Java在1.5版本之后就添加了自动装箱和自动拆箱

示例:

public class Test4{
    public static void main(String[] args) {
        //自动装箱
        Integer integer = 100;

        //自动拆箱
        int i = integer;
    }
}

Int与Integer的区别?

int 是基本类型,直接存数值;而integer引用数据类型;Int的变量声明后的初始值为0;Integer的初始值为null,需要创建对象后,才能对变量数据进行处理;Integer类是int的包装类,实际开发中Integer的对象可以进行数据转换等操作。

判断下面程序片段输出的结果:

Integer num1 = 200;
Integer num2 = 200;
System.out.println("num1==num2: "+(num1==num2));
System.out.println("num1==num2: "+(num1.equals(num2)));
Integer num3 = 100;
Integer num4 = 100;
System.out.println("num3==num4: "+(num3==num4));

结果:

 分析:

首先要明确equal方法与==的区别:

1,“==” 比较的是两个对象的引用(内存地址)是否相同,也用来比较两个基本数据类型的变量值是否相等。

第一个创建了两个Integer对象,地址不相同,所以为false。

2,equals() 比较的是两个对象的值(内容)是否相同。

两个Integer对象的值相同,所以为true。

3,Integer声明的变量的值在[-128,127]范围地址指向相同,因为byte范围的数是从常量池中获取。

所以num3和num4的内存地址相同,答案为true。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值