构造方法 Integer(int value) 构造一个新分配的 Integer 对象,它表示指定的 int 值。 Integer(String s) 构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值。 字段摘要 static int MAX_VALUE public static final int MAX_VALUE值为 231-1 的常量,它表示 int 类型能够表示的最大值。 static int MIN_VALUE 值为 -231 的常量,它表示 int 类型能够表示的最小值。 static int SIZE 用来以二进制补码形式表示 int 值的比特位数。 static Class<Integer> TYPE 表示基本类型 int 的 Class 实例。 static String toBinaryString(int i) 以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式。 static String toOctalString(int i) 以八进制(基数 8)无符号整数形式返回一个整数参数的字符串表示形式。 static String toHexString(int i) 以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式。
String和 int的转换
A:int -- String * a:和""进行拼接 * b:public static String valueOf(int i) * c:int -- Integer -- String(Integer类的toString方法()) * d:public static String toString(int i)(Integer类的静态方法) B:String -- int * a:String -- Integer -- int * public static int parseInt(String s) 基本数据类型包装类有八种,其中七种都有parseXxx的方法,可以将这七种的字符串表现形式转换成基本数据类型 char的包装类Character中没有pareseXxx的方法
JDK5的新特性自动装箱和拆箱
A:JDK5的新特性 * 自动装箱:把基本类型转换为包装类类型 * 自动拆箱:把包装类类型转换为基本类型 B:案例演示 * JDK5的新特性自动装箱和拆箱 jdk5之前手动装箱,拆箱 int x = 100; Integer i1 = new Integer(x);//将基本数据类型包装成对象,装箱 int y = i1.intValue();//将对象转换为基本数据类型,拆箱 自动装箱和拆箱 Integer i2 = 100;//自动装箱,把基本数据类型转换成对象 int z = i2 + 200;//自动拆箱,把对象转换为基本数据类型 System.out.println(z); 注意: Integer i3 = null; int a = i3 + 100;//底层用i3调用intValue,但是i3是null,null调用方法就会出现 System.out.println(a);//空指针异常java.lang.NullPointerException 建议先判断是否为null,然后再使用。
Integer的面试题
public boolean equals(Object obj) 比较此对象与指定对象。当且仅当参数不为 null, 并且是一个与该对象包含相同 int 值的 Integer 对象时, 结果为 true。
看程序写结果
Integer i1 = new Integer(97); Integer i2 = new Integer(97); System.out.println(i1 == i2);//false System.out.println(i1.equals(i2)); //true System.out.println("-----------");
Integer i3 = new Integer(197); Integer i4 = new Integer(197); System.out.println(i3 == i4);//false System.out.println(i3.equals(i4));//true System.out.println("-----------");
自动装箱底层要调用此方法 public static Integer valueOf(int i) { assert IntegerCache.high >= 127; if (i >= IntegerCache.low && i <= IntegerCache.high)//i>= -128 && i <= 127 return IntegerCache.cache[i + (-IntegerCache.low)];//常量池数组共有255个数 return new Integer(i);
public class test { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(Integer.toBinaryString(60));//111100 System.out.println(Integer.toOctalString(60));//74 System.out.println(Integer.toHexString(60));//3c
Integer i0 = new Integer(100); System.out.println(i0);
//Integer i1 = new Integer("abc");//java.lang.NumberFormatException数字格式异常 //System.out.println(i1);//因为abc不是数字字符串,所以转换会报错
Integer i2 = new Integer("100"); System.out.println(i2);