包装类转换
//包装类(Integer) -> String
Integer i = 100;//自动装箱
//方式1
String str1 = i + "" ;
System.out.println(str1);
//方式2
String str2 = i.toString();
System.out.println(str2);
//方式3
String str3 = String.valueOf(i);
//String -> 包装类(Integer)
String str4 = "12345";
//方式1
Integer i2 = Integer.parseInt(str4);//使用到自动装箱
System.out.println(i2);
//方式2
Integer i3 = new Integer(str4);//构造器
包装类方法
System.out.println(Integer.MIN_VALUE); //返回最小值
System.out.println(Integer.MAX_VALUE);//返回最大值
System.out.println(Character.isDigit('a'));//判断是不是数字
System.out.println(Character.isLetter('a'));//判断是不是字母
System.out.println(Character.isUpperCase('a'));//判断是不是大写
System.out.println(Character.isLowerCase('a'));//判断是不是小写
System.out.println(Character.isWhitespace('a'));//判断是不是空格
System.out.println(Character.toUpperCase('a'));//转成大写
System.out.println(Character.toLowerCase('A'));//转成小写
面试题1
Integer i = new Integer(1);
Integer j = new Integer(1);
System.out.println(i == j);//对象用等号比较是是否为同一个对象False
//只要有基本数据类型就是判断是值是否相等
/*
解读:
1.如果i在IntegerCache.low(-128)~IntegerCache.high(127),就直接从数据返回
2.如果不在 -128~127,就直接 new Integer(i)
public static Integer valueOf(int i) {
if (i >= IntegerCache.low && i <= IntegerCache.high)
return IntegerCache.cache[i + (-IntegerCache.low)];
return new Integer(i);
}
*/
//所以,这里主要是看范围 -128~ 127就是直接返回
//否则就new一个 Integer(xx)
Integer m = 1;//底层Integer.valueOf(1);->阅读源码
Integer n = 1;//底层Integer.valueOf(1);
System.out.println(m == n);//True
Integer x = 128;//底层Integer.valueOf(1);
Integer y = 128;//底层Integer.valueOf(1);
System.out.println(x == y);//False
面试题2
//示例一
Integer i1 = new Integer(127);
Integer i2 = new Integer(127);
System.out.println(i1 == i2);//F
// 示例二
Integer i3 = new Integer(128);
Integer i4 = new Integer(128);
System.out.println(i3 == i4);//F
//示例三
Integer i5 = 127;//底层 Integer.valueOf(127)
Integer i6 = 127;//-128~127
System.out.println(i5 == i6); //T
//示例四
Integer i7 = 128;
Integer i8 = 128;
System.out.println(i7 == i8);//F
//示例五
Integer i9 = 127; //Integer.valueOf(127)
Integer i10 = new Integer(127);
System.out.println(i9 == i10);//F
//示例六
Integer i11=127;
int i12 = 127; //只要有基本数据类型,判断的是值是否相同
System.out.println(i11==i12); //T
// 示例七
Integer i13=128;
int i14=128;
System.out.println(i13==i14);//T