一般地,当需要使用数字的时候,我们通常使用内置数据类型,如:byte、int、long、double等。
int i = 5000;
float gpa = 13.65;
byte mask = 0xaf;
然而,在实际开发过程中,我们经常会遇到需要使用对象,而不是内置数据类型的情形。为了解决这个问题,Java语言为每一个内置数据类型提供了对应的包装类。
所有的包装类(Integer、Long、Byte、Double、Float、Short)都是抽象类Number的子类。
这种由编译器特别支持的包装称为装箱,所以当内置数据类型被当作对象使用的时候,编译器会把内置类型装箱为包装类。相似的,编译器也可以把一个对象拆箱为内置类型。Number类属于java.lang包。
下面是一个装箱与拆箱的例子:
public class Test{
public static void main(String args[]){
Integer x = 5; // boxes int to an Integer object
x = x + 10; // unboxes the Integer to a int
System.out.println(x);
}
}
Paste_Image.png
Paste_Image.png
public class OverClass{
public static void main(String[] args) {
// Integer 两个构造方法
Integer a = new Integer(3);
Integer b = new Integer("123");// NumberFormatException
System.out.println(a);
System.out.println(b);
int ab = a+b;
System.out.println(ab);
String [] str = {"1","23","43"};
int sum = 0;
for (int i = 0;i < str.length ;i++ ) {
int m = Integer.parseInt(str[i]);
sum += m;
}
System.out.println(sum);
String age = Integer.toString(21);
String binary = Integer.toBinaryString(21);
System.out.println("二进制:"+binary);
int max = Integer.MAX_VALUE;
int min = Integer.MIN_VALUE;
int intSize = Integer.SIZE;
System.out.println(max);
System.out.println(min);
System.out.println(intSize);
int result = Integer.compare(4,5);
System.out.println("比较结果:"+result);
int resultAnother = a.compareTo(b);
System.out.println("比较结果2:"+resultAnother);
// Boolean 提供了3个常量
Boolean b1 = new Boolean(true);
Boolean b2 = new Boolean("ok");
Boolean b3 = new Boolean("FALSE");
System.out.println("b1:"+b1);
System.out.println("b2:"+b2);
System.out.println("b3:"+b3);
System.out.println("b3取反:"+!b3);
boolean resultB = b1.equals(b2);
System.out.println("Boolean比较:"+resultB);
// Character
Character char1 = new Character('A');
Character char2 = new Character('B');
Character char3 = new Character(' ');
System.out.println("大写:"+Character.isUpperCase(char1));
System.out.println("大写:"+Character.isLowerCase(char2));
System.out.println("white Space:"+Character.isWhitespace(char3));
}
}
网友评论