封装类封装一个基础数据类型或对象,并且为该类型提供一系列新方法。它可以用在需要对象作为参数的泛型,或者需要类型为对象的容器类
封装类可以从一个变量构造一个对象,也可以从封装对象中检索基础数据类型变量。
Integer类
Integer类封装int型,一个Integer对象只保存一个int变量
Integer(int value);
构建一个Integer对象(封装)
(此方法在第9版后已经弃用了,不过AP要考,所以不能不了解)
int compareTo(Integer other);
如果两个Integer数值相等返回0, 小于返回负数,大于返回正数
int intValue();
返回Integer对象包含的int值(解封)
boolean equals(Object obj);
Integer和obj所含的int值相等时返回true
String toString()
返回该数字字符串形式
package standardClasses;
public class TheIntegerClass {
public static void main(String[] args) {
// TODO Auto-generated method stub
Integer intObj = new Integer(6); //boxes 6 in Integer object
int j = intObj.intValue(); //unboxes 6 from Integer object
System.out.println("Integer value is " + intObj);
//calls toString() for intObj
//output is: Integer value is 6
Object object = new Integer(5); //Integer is a subclass Object
Integer intObj2 = new Integer(6);
int k = intObj2.intValue();
System.out.println(intObj.equals(intObj2));
System.out.println(intObj.intValue() == intObj2.intValue());
System.out.println(intObj == intObj2);
k.equals(j) error, k and j are not objects
(intObj.intValue()).compareTo(intObj2.intValue()) //error, can't use compareTo at primitive type
intObj.compareTo(object) //error, parameter needs to be Integer
System.out.println(intObj.compareTo((Integer) object)); //downward casting
System.out.println(object.compareTo(intObj) < 0) //error, no compareTo in Object
System.out.println((((Integer)object)).compareTo(intObj));
}
}