9.4 包装类
我们学习过int、double、char等类型,例如下面的代码我们非常熟悉:
int i=1024;
double d=5.6;
char c='a';
我们把i、d、c这些称为变量,这些变量只有一个值,由于他们并不是什么类的对象,所以也就没有行为。为了统一面向对象体系,Java也为这些基本类型都设计了对应的类,这就是包装类。
变量类型 | 包装类 |
---|---|
int | Integer |
byte | Byte |
short | Short |
long | Long |
double | Double |
float | Float |
char | Character |
包装类可以和对应的类型无缝连接,自动转换,例如
Integer i=1024;
double d=5.6;
Double dou =d;
但是更重要的是这些包装类的一些静态方法,也就是类能直接引用的方法。
其中一个就是把字符串转换成数字这个函数,每个类型都有对应的字符串转换成本类型的函数。
包装类及静态方法 | 返回类型 |
---|---|
Integer.parseInt(String str) | str转换的整数,如果str不是整数,那么出异常 |
Double.parseDouble(String str) | str转换的小数,如果str不是小数,那么出异常 |
Byte.parseByte(String str) | str转换的整数,如果str不是整数,那么出异常 |
Short.parseShort(String str) | str转换的整数,如果str不是整数,那么出异常 |
Long.parseLong(String str) | str转换的整数,如果str不是整数,那么出异常 |
Float.parseFloat(String str) | str转换的小数,如果str不是小数,那么出异常 |
Character.isDigit(char c) | c是数字字符,返回true,否则返回false |
Character.isLetter(char c) | c是字母字符,返回true,否则返回false |
Character.isWhitespace(char c) | c是空格字符(包括空格、转行、tab字符),返回true |
Character.isUpperCase(char c) Character.isLowerCase(char c) | c是大写字母,返回true,否则返回false c是小写字母,返回true,否则返回false |
Character提供了很多函数,判断字符的类型,我们以前练习写的判断函数,Java已经实现了。
除此之外,包装类还提供了数据类型的最大和最小值,这两个是静态属性MAX_VALUE和MIN_VALUE,
public static void main(String[]args){
System.out.println("int的最大值和最小值分别是:");
System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.MIN_VALUE);
System.out.println("long的最大值和最小值分别是:");
System.out.println(Long.MAX_VALUE);
System.out.println(Long.MIN_VALUE);
System.out.println("double的最大值和最小值分别是:");
System.out.println(Double.MAX_VALUE);
System.out.println(Double.MIN_VALUE);
}
这将打印:
int的最大值和最小值分别是:
2147483647
-2147483648
long的最大值和最小值分别是:
9223372036854775807
-9223372036854775808
double的最大值和最小值分别是:
1.7976931348623157E308
4.9E-324