摘录并整理自:Java内置的包装类
1. Object
- Object 是 Java 类库中的一个特殊类,也是所有类的父类。当一个类被定义后,如果没有指定继承的父类,那么默认父类就是 Object 类。因此,以下两个类是等价的。
即:
public class MyClass{…}
等价于public class MyClass extends Object {…}
-
由于所有类都是由Object类派生而出来的,因此Object中定义的方法,在其它类中都可以使用,常见方法有:
image.png
1.1 equals()方法
equals() 方法的作用与"="运算符类似,''=''用于值与值的比较和值与对象的比较,而 equals() 方法用于对象与对象之间的比较
boolean result=obj.equals(Object o);
1.2 getClass()方法
getClass() 方法返回对象所属的类,是一个 Class 对象。通过 Class 对象可以获取该类的各种信息,包括类名、父类以及它所实现接口的名字等。
例如:
:
public static void main(String[] args) throws ParseException {
String obj = new String();
System.out.println("类:"+obj.getClass());
//获取类名
System.out.println("类名:"+obj.getClass().getName());
//获取父类名
System.out.println("父类:"+obj.getClass().getSuperclass().getName());
System.out.println("实现的接口有:");
//获取实现的接口并输出
for(int i=0;i<obj.getClass().getInterfaces().length;i++)
{
System.out.println(obj.getClass().getInterfaces()[i]);
}
}
类:class java.lang.String
类名:java.lang.String
父类:java.lang.Object
实现的接口有:
interface java.io.Serializable
interface java.lang.Comparable
interface java.lang.CharSequence
2. Integer包装了基本类型的值,提供了int、string转换的方法
- 构造方法:
public Integer(int value) {
this.value = value;
}
public Integer(String s) throws NumberFormatException {
this.value = parseInt(s, 10);
}
- 我们发现
Integer(String s)
调用了parseInt()函数,某人为十进制数字 -
Integer类的常用方法
image.png
这里看一下valueOf()函数,有两个函数
public static Integer valueOf(String s)
public static Integer valueOf(String s, int radix)
public static Integer valueOf(int i)
我们可以分别可以通过string、int类型来获取Integer类型
2.1 同时可以通过Integer将int转换成二进制、八进制、十六进制的string形式
public static void main(String[] args) throws ParseException {
int num=40;
String str=Integer.toString(num); // 将数字转换成字符串
String str1=Integer.toBinaryString(num); // 将数字转换成二进制
String str2=Integer.toHexString(num); // 将数字转换成八进制
String str3=Integer.toOctalString(num); // 将数字转换成十六进制
System.out.println(str+"的二进制数是:"+str1);
System.out.println(str+"的八进制数是:"+str3);
System.out.println(str+"的十进制数是;"+str);
System.out.println(str+"的十六进制数是:"+str2);
}
40的二进制数是:101000
40的八进制数是:50
40的十进制数是;40
40的十六进制数是:28
2.2 Integer常量
常用常量有:
- MAX_VALUE:值为 231-1 的常量,它表示 int 类型能够表示的最大值。
- MIN_VALUE:值为 -231 的常量,它表示 int 类型能够表示的最小值。
- SIZE:用来以二进制补码形式表示 int 值的比特位数。
- TYPE:表示基本类型 int 的 Class 实例。
public static void main(String[] args) throws ParseException {
System.out.println(Integer.MAX_VALUE); //获取 int 类型可取的最大值
System.out.println(Integer.MIN_VALUE); // 获取 int 类型可取的最小值
System.out.println(Integer.SIZE); // 获取 int 类型的二进制位
Class c = Integer.TYPE;
System.out.println(Integer.TYPE); // 获取基本类型 int 的 Class 实例
}
2147483647
-2147483648
32
int
3. Float类
3.1 构造函数
public Float(float value) {
this.value = value;
}
public Float(double value) {
this.value = (float)value;
}
public Float(String s) throws NumberFormatException {
value = parseFloat(s);
}
3.2 Float类常用方法
image.png- 和Integer一样,其valueOf()函数都能以float和string作为参数
public static Float valueOf(String s) throws NumberFormatException {
return new Float(parseFloat(s));
}
public static Float valueOf(float f) {
return new Float(f);
}
3.3 Float常用常量
除了和Integer同样拥有的四个常用常量外,还有一些常用常量
- MAX_EXPONENT:有限 float 变量可能具有的最大指数。
- MIN_EXPONENT:标准化 float 变量可能具有的最小指数。
- MIN_NORMAL:保存 float 类型数值的最小标准值的常量,即 2-126。
- NaN:保存 float 类型的非数字值的常量。
public static void main(String[] args) throws ParseException {
System.out.println(Float.MAX_EXPONENT); //获取 float 类型可取的最大值
System.out.println(Float.MIN_EXPONENT); //获取 float 类型可取的最小值
System.out.println(Float.MIN_NORMAL); //获取 float 类型可取的最小标准值
System.out.println(Float.SIZE); //获取 float 类型的二进制位
System.out.println(Float.NaN);
}
127
-126
1.17549435E-38
32
NaN
4. Double类
4.1 构造方法
public Double(double value) {
this.value = value;
}
public Double(String s) throws NumberFormatException {
value = parseDouble(s);
}
4.2 Double的常用方法
image.png对于value()通常重载为double和string类型
public static Double valueOf(String s) throws NumberFormatException {
return new Double(parseDouble(s));
}
public static Double valueOf(double d) {
return new Double(d);
}
4.3 Double的常用常量
- MAX_VALUE:值为 1.8E308 的常量,它表示 double 类型的最大正有限值的常量。
- MIN_VALUE:值为 4.9E-324 的常量,它表示 double 类型数据能够保持的最小正非零值的常量。 //1.7976931348623157E308
- NaN:保存 double 类型的非数字值的常量。
- NEGATIVE_INFINITY:保持 double 类型的负无穷大的常量。
- POSITIVE_INFINITY:保持 double 类型的正无穷大的常量。
- SIZE:用秦以二进制补码形式表示 double 值的比特位数。
- TYPE:表示基本类型 double 的 Class 实例。
5. Number类
- Number 是一个抽象类,也是一个超类(即父类)。Number 类属于 java.lang 包,所有的包装类(如 Double、Float、Byte、Short、Integer 以及 Long)都是抽象类 Number 的子类。
- Number 类定义了一些抽象方法,以各种不同数字格式返回对象的值。如 xxxValue() 方法,它将 Number 对象转换为 xxx 数据类型的值并返回,其中 doubleValue() 方法返回 double 类型的值,floatValue() 方法返回 float 类型的值。
6. Character类
- Character 类是字符数据类型 char 的包装类。Character 类的对象包含类型为 char 的单个字段,这样能把基本数据类型当对象来处理
6.1 Character 的常用方法
image.png- 注意:后面的判断类型和转换大小写函数是public static
public static void main(String[] args) {
System.out.println(Character.isLetter('1')); //false
System.out.println(Character.isDigit('a')); //false
System.out.println(Character.isLetterOrDigit('a')); //true
System.out.println(Character.toLowerCase('A')); // a
System.out.println(Character.toUpperCase('a'));// A
}
7. Boolean类
7.1. 构造函数
public Boolean(boolean value) {
this.value = value;
}
public Boolean(String s) {
this(parseBoolean(s));
}
其中 boolValue 必须是 true 或 false(不区分大小写),boolString 包含字符串 true(不区分大小写)
7.2 Boolean的常用方法
image.png- valueOf()函数通过重载string类型和boolean类型
8. Byte类
8.1 构造函数
public Byte(byte value) {
this.value = value;
}
public Byte(String s) throws NumberFormatException {
this.value = parseByte(s, 10);
}
8.2 常用函数
image.pngpublic static Byte valueOf(String s) throws NumberFormatException {
return valueOf(s, 10);
}
public static Byte valueOf(String s, int radix)
throws NumberFormatException {
return valueOf(parseByte(s, radix));
}
public static Byte valueOf(byte b) {
final int offset = 128;
return ByteCache.cache[(int)b + offset];
}
8.3 常用常量
- MIN_VALUE:byte 类可取的最小值。
- MAX_VALUE:byte 类可取的最大值。
- SIZE:用于以二进制补码形式表示的 byte 值的位数。
- TYPE:表示基本类 byte 的 Class 实例。
public static void main(String[] args) {
System.out.println(Byte.MAX_VALUE); //获取 int 类型可取的最大值
System.out.println(Byte.MIN_VALUE); // 获取 int 类型可取的最小值
System.out.println(Byte.SIZE); // 获取 int 类型的二进制位
Class c = Byte.TYPE;
System.out.println(Byte.TYPE); // 获取基本类型 int 的 Class 实例
}
127
-128
8
byte
9.System类
- System 类代表系统,系统级的很多属性和控制方法都放置在该类的内部。该类位于 java. lang 包。由于该类的构造方法是 private 的,所以无法创建该类的对象,也就是无法实例化该类。
System 类内部的成员变量和成员方法都是 static 的,所以可以方便地进行调用。
9.1 System成员变量
System 类有 3 个静态成员变量,分别是 PrintStream out、InputStream in 和 PrintStream err。
9.2 System类成员方法
- arraycopy方法
public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length)
- currentTimeMillis() 方法
该方法的作用是返回当前的计算机时间,时间的格式为当前计算机时间与 GMT 时间(格林尼治时间)1970 年 1 月 1 日 0 时 0 分 0 秒所差的毫秒数,例如:
public static native long currentTimeMillis();
- exit()方法
该方法的作用是终止当前正在运行的 Java 虚拟机,具体的定义格式如下
public static void exit(int status)
其中,status 的值为 0 时表示正常退出,非零时表示异常退出。使用该方法可以在图形界面编程中实现程序的退出功能等。
- gc() 方法
该方法的作用是请求系统进行垃圾回收。至于系统是否立刻回收,取决于系统中垃圾回收算法的实现以及系统执行时的情况。定义如下:
1. public static void gc()
- getProperty() 方法
该方法的作用是获得系统中属性名为 key 的属性对应的值,具体的定义如下:
public static String getProperty(String key)
常见属性信息如下:
image.png
网友评论