将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据
常用操作之一:用于基本数据类型与字符之间的转换
基本类型和包装类的对应
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
public class wap {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(Integer.toBinaryString(60));
System.out.println(Integer.toHexString(60));
System.out.println(Integer.toOctalString(60));
/*
* 111100 二进制
3c 十六进制
74 八进制
*/
}
}
Integer类
Integer类在对象中包装了一个基本类型int的值,该类提供了多个方法,能在int类型和String类型之间相互转换,还提供了处理int类型非常有效的方法
构造方法
public Integer(int value)
public Integer(String s)
public class demo {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.MIN_VALUE);
/*
* 2147483647
-2147483648
*/
Integer in = new Integer(100);
Integer i = new Integer("100");
System.out.println(in);
System.out.println(i);
/* Integer e = new integer("abc"); //数字格式异常,因为abc不是数字字符串,所以转换会报错
System.out.println(e);
*/
}
}
String类型和int类型的相互转化
int———String
和""拼接
public static String valueOf(int i)
int _Integer_String(利用Integer中的toString()方法
public static String toString(int i)Integer类的静态方法
public class demo {
public static void main(String[] args) {
int i = 12 ;
String s = i +"";
System.out.println(s);
String s1 = String.valueOf(i);
Integer i2 = i;
String s2 = i2.toString();
System.out.println(s2);
String s3 = Integer.toString(i);
System.out.println(s3);
}
}
String——int
String——Integer——int
public static int parseInt(String s)
基本数据类型包装类有八种其中七种都有parseXXX的方法,可以将字符串表现形式转换成基本数据类型,char类型中没有,因为cha中只能存一个字符,字符串到字符的转化通过toCharArray()就可以把字符串转为字符数组
public class demo {
public static void main(String[] args) {
String s = new String("123");
Integer i = new Integer(s);
int i2 = i.intValue();
System.out.println(i2);
int i3 = Integer.parseInt(s);
System.out.println(i3);
}
}
Integer面试题
Integer i1 =new Integer(97) ;
Integer i2 =new Integer(97);
System.out.println(i1==i2); //false
System.out.println(i1.equals(i2)); //true
Integer i3 = new Integer(197) ;
Integer i4 = new Integer(197);
System.out.println(i3==i4); //false
System.out.println(i3.equals(i4)); //true
Integer i5 = 97;
Integer i6 = 97;
System.out.println(i5==i6); //true
System.out.println(i5.equals(i6)); //true
Integer i7 = 197 ;
Integer i8 = 197;
System.out.println(i7==i8); //false
System.out.println(i7.equals(i8)); //true
-128~127是byte取值范围,如果在这个取值范围内自动装箱就不会创建新对象,而是从常量池中获取,超过了byte取值范围就会再创建新对象