Java包装类

Java只有两种数据类型,基本数据类型和引用数据类型。

基本类型以值的形式存在,不是以对象的形式存在,不能直接参与面向对象的方法。

把基本类型 包装 成 类 的形式,即包装类,就可以面向对象。(类似 封装:把数值藏在一个对象里头,套一个壳)

包装类是为了解决基本类型不能直接参与面向对象开发的问题。

八大包装类:Integer(int),Character(char),Long,Double,Short,Float,Byte,Boolean

1. 包装类是不可变类,在构造了包装类对象后,不允许更改包装在其中的值。

2. 包装类是final的,不能定义他们的子类。

char 和 boolean 的父类是Object,除了这两个,另外六个数字类型的包装类的父类都是Number,Number是一个抽象类,它继承自Object,Number定义了几个抽象方法,要求数字类型的包装类可以将其表示的数字以任意数字类型返回。

复制代码
package integer;

public class IntegerDemo1 {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        double d=1.1;
        //转换为包装类
//        Integer i1=new Integer(d);
//        Integer i2=new Integer(d);
        
        //推荐使用valueof()转换为包装类
        Double i1= Double.valueOf(d);
        Double i2= Double.valueOf(d);
        
        System.out.println(i1==i2);
        System.out.println(i1.equals(i2));
        
        //包装类转换为基本类型
        d=i1.intValue();
        System.out.println(d);
        
        
        //可以转换为其他类型(精度从小到大可以,精度从大到小可能会溢出)
        double dou=i1.doubleValue();
        System.out.println(dou);
        
        byte b=i1.byteValue();
        System.out.println(b);
        
        //数字类型的包装类都定义了两个常量,MAX_VALUE,MIN_VALUE,用于表示该包装类对应的基本类型的取值范围
        int imax=Integer.MAX_VALUE;
        System.out.println(imax);
        int imin=Integer.MIN_VALUE;
        System.out.println(imin);
        
        long lmax=Long.MAX_VALUE;
        System.out.println(lmax);
    }

}
复制代码

 

复制代码
package integer;

//包装类都提供了一个静态方法:parseXXX(string str)
//可以将字符串解析为对应的基本类型,但是需要注意,该字符串
//必须能够正确描述该基本类型可以保存的值,否则会抛出异常。

//报错类型NumberFormatException:字符串转数字的时候字符串的格式不对

public class ParseDemo {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        String str="123.123";
        int d=Integer.parseInt(str);
        System.out.println(d);
        
        double dou=Double.parseDouble(str);
        System.out.println(dou);
    }

}
复制代码

 

posted @   yhstsy  阅读(30)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示