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); } }
浙公网安备 33010602011771号