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 @ 2022-09-14 16:40  yhstsy  阅读(37)  评论(0)    收藏  举报