包装类基本知识
Java是面形对象的语言,但并不是“纯面向对象”的,因为我们经常用到的基本数据类型就不是对象。但是我们在实际应用中经常需要将基本数据转化成对象,以便用于操作。 比如:将基本数据类型储存到Object[]数组或集合中的操作等等。
为了解决这个不足,Java在设计类时为了每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrpper Class).
包装类位于Java.lang包,八种包装类和基本数据类型的对应关系
基本数据类型对应的包装类
| 基本数据类型 | 包装类 |
|---|---|
| byte | Byte |
| boolean | Boolean |
| short | Short |
| char | Character |
| int | Integer |
| long | Long |
| float | Float |
| double | Double |
在这八个类名中,除了Integer和Character类以外,其他六个类的类名和基本数据类型一致,只是类名的第一个字母大写而已
父类:Object
子类:Float,Integer,Long,Byte,Short,Double
方法inValue(),longValue(),floatValue(),doubleValue(),bytevalue(),shortValue().
Number类是抽象类,因此它的抽象方法,所有字类都需要提供实现。Number类提供了抽象方法:inValue(),longValue(),floatValue(),doubleValue(),bytevalue(),一位着所有的“数字型”包装类都可以相互转型
包装类:
例
package com.it.baizhan;
//测试包装类的使用
public class Test01 {
public static void main(String[] args) {
Integer i = new Integer(10);//从Java9开始被废弃
Integer i = new Integer(10);//官方推荐
int a = i.intValue();//把包装类对象转成基本数据类型
double b = i.intValue();
//把字符串转成数字
Integer n = Integer.valueOf("342");
// Integer d = Integer.valueOf("37dds");//会报错
}
}
包装类的用途
对于包装类来说,这些类的用途主要包含两种:
- 作为和基本数据类型对应的类型存在,方便涉及到对象的操作,如Object[]、集合等的操作。
- 包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操作方法(这些操作方法的作用是在基本数据类型、包装类对象、字符串之间提供相互之间的转化!)
例:
package com.it.baizhan;
//测试包装类的使用
public class Test01 {
public static void main(String[] args) {
// Integer i = new Integer(10);//从Java9开始被废弃
Integer i = new Integer(10);//官方推荐
int a = i.intValue();//把包装类对象转成基本数据类型
double b = i.intValue();
//把字符串转成数字
Integer n = Integer.valueOf("342");
// Integer d = Integer.valueOf("37dds");//会报错
System.out.println(Integer.MAX_VALUE);//int的最大值
}
}