栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java中基本数据类型与包装类

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java中基本数据类型与包装类

java是面向对象的语言,但是Java中的基本数据类型不是对象,而且在调用方法的时候参数列表只能使用值传递,,此外Java的许多标准数据结构都是针对对象进行操作,为此Java为每种基本数据类型都提供了一个类,这些类就是包装类

 

基本数据类型与包装类的对应关系
基本数据类型包装类
byteByte
shortShort
intInteger
long

Long

floatFloat
doubleDouble
charCharacter
booleanBoolean

除了int和char的数据类型其他的基本数据类型都和包装类只有首字母的差异

所有的数值型基本数据类型的包装类都继承于Number类中,剩下的基本数据类型继承于Object类中;而所有的包装类都在java.lang包下,所以可以直接使用

包装类的装箱和拆箱

在Number类存在valueOf()方法来获取包装类的对象(char和boolean的包装类也有这个方法),xxxValue()方法返回对象的数值(xxx表示变量的数据类型),将数值封装到包装类的过程称作装箱,而从包装类取出数值的过程称作拆箱:

public class Test{
    public static void main(String[] args){
    
    Integer it = Integer.valueOf(100);  //将100传入it对象,装箱
    int num = it.intValue();   //将it对象的值取出赋值到num,拆箱
    System.out.println(num);   //输出num

    }
}

输出结果为100

 从Java5开始,Java增加了自动装箱和自动拆箱。自动装箱是指只要是基本数据类型的对象,就将基本数据类型自动封装到对应的包装类的过程,不需要显性创建对象。自动拆箱是指当需要时自动提取已装箱的对象的数值的过程

public class Test{
    public static void main(String[] args){
    
    Integer it = 100;  //等价于Integer it = Integer.valueOf(100);
    int num = it;   //等价于int num = it.intValue();
    System.out.println(num);   //输出num

    }
}

除了赋值这种简单的情况外,只要必须将基本数据类型转换为对象就会发生自动装箱,只要对象必须转换为基本数据类型就会发生自动拆箱,所以向方法传递参数或者从方法返回数值的时候就会有可能发生自动拆装箱:

public class Boxing {
    public static Integer boxing(Integer i){
        i = Integer.valueOf(100);
        int num = i.intValue();
        return i;
    }
    public static void main(String[] args) {
        

        int num = boxing(100);  //传递参数的时候发生了自动装箱,接收方法返回值的时候发生了自动拆箱 

        
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/860930.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号