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

Java包装类

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

Java包装类

包装类
  • 包装类就是基本数据类型所对应的引用数据类型
  • Object可统一所有数据,包装类的默认值时null
包装类对应

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

类型转换之装箱、拆箱
  • 8种包装类提供不同类型间的转换方式
  • Number父类中提供的6个共享方法
  • 装箱:基本类型转成引用类型的过程
  • 通过构造方法或valueOf()方法
  • 拆箱:引用类型转成基本类型的过程
  • 通过intValue()方法
  • jdk1.5以后可以自动装箱拆箱
  • parseXXX()静态方法 实现字符串与基本类型之间的转换

  • 注意:需保证类型兼容,否则抛出NumberFormatException异常
    ##示例代码如下
package com.usuallyclass.putinclass;

public class Demo01 {
    public static void main(String[] args) {
        //类型转换:装箱:基本类型转成引用类型的过程
        //基本类型
        int num=18;
        //使用Integer类创建对象
        Integer integer1 = new Integer(num);//调用了构造方法,将传进去的num转换为引用类型
        Integer integer2 = Integer.valueOf(num);
        System.out.println("装箱");
        System.out.println(integer1);
        System.out.println(integer2);

        //类型转换:拆箱,引用类型转成基本类型
        Integer integer3 = new Integer(100);
        int num1 = integer3.intValue();
        System.out.println("拆箱");
        System.out.println(num1);

        //JDK1.5之后,提供自动装箱和拆箱
        int age = 30;
        //自动装箱
        Integer integer4 = age;
        System.out.println("自动装箱");
        System.out.println(integer4);
        //自动拆箱
        int age2 = integer4;
        System.out.println("自动拆箱");
        System.out.println(age2);


        System.out.println("===============基本类型和字符串之间的转换=========================");
        //基本类型和字符串之间的转换
        int n1 = 15;
        //1,使用+号
        String s1=n1+"";
        //2,使用Integer中的toString()方法
        String s2 = Integer.toString(n1);
        //使用toString的重载方法
        String s3 = Integer.toString(n1,16);
        System.out.println(s1);
        System.out.println(s2);
        System.out.println(s3);

        //字符串转成基本类型
        String str="150";
        //使用Integer.parseXXX();
        //不能乱转类型,否则会报错:NumberFormatException//数字格式异常
        int n2 = Integer.parseInt(str);
        System.out.println(n2);

        //boolean 字符串形式转成基本类型,“true”---->true,其它都转为false
        String str2 = "true";
        boolean b1 = Boolean.parseBoolean(str2);
        System.out.println(b1);
    }
}
Integer缓存区
  • Java预先创建了256个常用的整数包装类型对象
package com.usuallyclass.putinclass;

public class Demo02 {
    public static void main(String[] args) {
        //面试题
        Integer integer1 = new Integer(100);
        Integer integer2 = new Integer(100);
        System.out.println(integer1==integer2);//false

        //使用自动装箱时
        Integer integer3=100;
        Integer integer4=100;
        System.out.println(integer3==integer4);//true

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

        //原因在于使用自动装箱时,系统自动帮我们实现了valueOf()的方法,这个方法在定义的时候设置了256个已经预先建立的引用对象,在-128-127之间
        //所以在这-128-127之间的整数自动装箱时,新生成的变量存储的引用对象的地址都是同一个,即预先建立的那个引用对象,因此比较地址为true,其它因为创建了
        //不同的对象所以地址不同
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/872106.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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