Java——包装类

来源:互联网 发布:pip安装tensorflow 编辑:程序博客网 时间:2024/05/23 10:34

一、包装类

  出于对性能的考虑,在Java中基本数据类型不作为对象使用,因为处理对象需要额外的系统开销。但是Java中的许多方法需要将对象作为参数,所以有时需要将基本数据类型并入对象或包装成对象。通过包装类,可以将基本数据类型值作为对象处理。
  Java为基本数据类型提供了Boolean、Character、Byte、Short、Integer、Long、Float、Double等包装类,这些都在java.lang包里。下面写一下Integer类和Double类中的数据域和方法:

java.lang.Integer java.lang.Double -value: int -value: Double +MAX_VALUE: int +MAX_VALUE: double +MIN_VALUE: int +MIN_VALUE: double (返回最小正值,float类似) +Integer(value: int) +Double(value: double) +Integet(value: String) +Double(value: String) +byteValue(): byte +byteValue(): byte +shortValue(): short +shortValue(): short +intValue(): int +intValue(): int +longValue(): long +longValue(): long +floatValue(): float +floatValue(): float +doubleValue(): double +doubleValue(): double +compareTo(o: Integer): int +compareTo(o: double):int +toString():String +toString(): String +valueOf(s: String): Integer +valueOf(s: String): Double +valueOf(s: String,radix: int): Integer +valueOf(s: String,radix: int): Double +parseInt(s: String): int +parseInt(s: String): double +parseInt(s: String,radix: int): int +parseInt(s: String,radix: int): double

可以发现包装类之间非常相似。
  包装类没有无参构造方法。既可以用基本数据类型也可以用表示数值的字符串构造包装类。所有包装类的实例都是不可变的,这就意味着一旦创建对象后,它们内部值都是不能再改变的。

二、基本类型和包装类之间的自动转换

  Java允许基本类型和包装类类型之间的自动转换。如果一个基本类型值出现在需要对象的环境中,编译器会自动将其进行自动装箱;同样也可以实现自动开箱。
  Integer intObject = new Integer(100);
  等价于: Integer intObject = 100;
  同样也可以直接输出 System.out.println(intObject);

1 0
原创粉丝点击