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

Java包装类

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

Java包装类

什么是包装类,包装类就是基本类型的所对应的引用类型数据,每种基本类型都对应的都有一个包装类。

Object可以统一所有数据,包装类的默认值是null。

包装类在Java.lang包下的

基本类型数据对应的包装类
byteByte
charCharacter
intInteger
shortShort
longLong
floatFloat
doubleDouble
booleanBoolean

基本类型数据都是在栈里的,而它们的包装类可以将他们包装成引用类型在堆里开辟一个空间。

我们一般定义的基本类型的变量想要去运算只能用运算符(加减乘除)来运算,也不能调用方法:只能出现这个关键字之类的,

 而包装类定义的就可以调用一些方法: (包装过后的基本数据类型我个人理解就是变成了对象在堆里开辟了一个空间,所有也可以通过对象调用类的方法)

类型转换,装箱与拆箱:

类型转换:基本类型转换成包装类,这个过程就是类型的转换。

装箱:装箱就是将基本类型转换成包装类的这么一个过程称之为装箱。

拆箱:拆箱就是将包装类的引用类型的对象转换为基本类型。

例:

package BaoZhuangLei;

public class Test {
    public static void main(String[] args){
        //装箱操作:基本类型转换为引用类型
        int n = 10;
        //使用Integer类创建对象
        Integer integer1 = new Integer(n);//使用包装类的构造方法进行装箱
        Integer integer2 = Integer.valueOf(n);//使用包装的类方法进行装箱

        System.out.println(n);
        System.out.println("装箱");
        System.out.println(integer1);
        System.out.println(integer2);
        System.out.println("----------------------------");



        //拆箱:引用类型转换为基本类型
        Integer integer3 = new Integer(99);
        //使用包装类的拆箱方法将引用类型转换为基本类型
        int n1 = integer3.intValue();

        System.out.println(integer3);
        System.out.println("拆箱");
        System.out.println(n1);
        System.out.println("----------------------------");



        //JDk1.5之后,提供了自动装箱和拆箱
        int n2 = 90;
        //自动装箱演示
        Integer integer = n2;//自动装箱完成

        System.out.println(n2);
        System.out.println(integer);
        System.out.println("自动装箱完成");

        

        //自动拆箱
        int n3 = integer;//自动拆箱结束

        System.out.println(n3);
        System.out.println("自动拆箱结束");
    }
}

运行结果:(自动装箱和拆箱其实系统帮我们自动将装箱和拆箱的方法给补进去了,这样就会给我们节约时间,代码量也会少)

 字符串和基本类型的转换:

parseXXX()静态方法(XXX是指一种类型,比如:int,float类型)这个方法可以实现字符串和基本类型的转换

package BaoZhuangLei;
//parse()方法练习
public class parse {
    public static void main(String[] args){
        //基本类型和字符串类型之间的转换
        //1.基本类型转字符串
        int n1 = 99;
        //1.1第一种方式使用加号来实现
        String s1 = n1+"";
        System.out.println(s1);

        //1.2使用Integer中的tosString()方法
        String s2 = Integer.toString(n1);
        System.out.println(s2);


        //2.字符串类型转基本类型
        String str = "100";
        //使用Integer。parse()方法。
        int i = Integer.parseInt(str);
        System.out.println(i);
    }
}

运行结果:

 字符串类型转基本类型时要注意字符串内除了数字不用出现别的字母之类的否则转换会报错

运行结果:报错了

 

 扩充:boolean字符串形式转换为基本类型boolean值的时候,只有"true"转换之后就是true,只要不是 "true"都是false。

//3.boolean字符串形式转换成基本类型"true"-->true,"true"-->false
        String str2 = "true";
        boolean b1 = Boolean.parseBoolean(str2);
        System.out.println(b1);

运行结果:

 当我们不小心将true拼错了,再运行一下看看

 运行结果:

 整数缓冲区(Integer缓冲区):

Java预先在堆里创建了256个常用整数的包装类对象。

翻译成通俗的话就是我们平时经常会用到的XXX--XXX的整数在我们整数包装类中(Integer)已经提前在内存中预设好了,我们创建的对象赋值的数字只要是在这个范围内的就之间指向内存中这个数就可以了,超过预设的256个数会在内存中重新开辟空间储存。(缓冲区数字的区间是-128-127)

这预设数字的内存就是缓冲区。(整数缓冲区可以节约内存)

 例:

package BaoZhuangLei;
//整数缓冲区(Integer缓冲区)
public class HuanChongQu {
    public static void main(String[]args){
        //练习(面试也会面到)
        Integer integer1 = new Integer(100);
        Integer integer2 = new Integer(100);
        
        System.out.println(integer1 == integer2);

        
        Integer integer3 = 100;
        Integer integer4 = 100;
        System.out.println(integer3==integer4);

        
        Integer integer5 = 200;
        Integer integer6 = 200;
        System.out.println(integer5 == integer6);
    }
}

运行结果:

 

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

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

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