常用类.包装类

基栈 引用类型在栈  对象在堆

基本数据类型所对应的引用类型

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

基本数据类型包装类型
byte Byte
short Short
int Integer
long Long
float Float
double Double
boolean Boolean
char Character

类型转换与装箱、拆箱

装箱:把基本类型转换为引用类型(把堆里的对象拿到栈里面)

拆箱:把引用类型转换为基本类型

8种包装类提供不同类型间的转换方式:

Number父类中提供的6个共性方法

parseXXX()静态方法

valueOf()静态方法

注意:需保证类型兼容,否则抛出NumberFormatException异常

 
复制代码
package cyl4;

public class Demo01 {
    public static void main(String[] args) {
        //类型转换:装箱:把基本类型转换为引用类型的过程
        //基本类型
        int num1 = 18;
        //使用Integer类创建对象
        Integer integer1 = new Integer(num1);
        Integer integer2 = Integer.valueOf(num1);
        System.out.println("装箱");
        System.out.println(integer1);
        System.out.println(integer2);

        //类型转换:拆箱:把引用类型转换为基本类型的过程
        Integer integer3 = new Integer(100);
        int num2 = integer3.intValue();
        System.out.println("拆箱");
        System.out.println(num2);

        //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("-------------------------------");

        //基本类型和字符串之间的转换
        //1.基本类型转成字符串
        int n1 = 100;
        //1.1使用+号
        String s1 = n1+"";
        //1.2使用Integer中的toString()方法
        String s2 = Integer.toString(n1);
        System.out.println(s1);
        System.out.println(s2);

        //2.字符串转成基本类型
        String str = "150";
        //使用Integer.parseXXX();
        int n2 = Integer.parseInt(str);
        System.out.println(n2);

        //boolean字符串形式转为基本类型:"true"-->true 非"true"-->false
        String str2 = "true";
        boolean b1 = Boolean.parseBoolean(str2);
        System.out.println(b1);
    }
}
复制代码

整数缓冲区

Java预先创建了256个常用的整数包装类型对象

在实际应用当中,对已创建的对象进行复用

复制代码
package cyl4;

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.valueOf
        Integer integer4 = 100;
        System.out.println(integer3==integer4);//true   范围:-128~127为ture

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

    }
}
复制代码

 

posted @   sususyq-  阅读(17)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
点击右上角即可分享
微信分享提示