包装类
包装类的分类
- Boolean
- Character
- Byte
- Short
- Integer
- Long
- Float
- Double
包装类都实现了Comparable接口,包装类都是可以进行比较的
装箱和拆箱
装箱:基本数据类型->包装类型
jdk5前
手动装箱:
>int ---> Integer
int n1 = 100;
Integer integer = new Integer(n1);
Ingeger integer1 = Integer.valueOf(n1);
手动拆箱:
>Ingeter ---> int
int i = Integer.intValue();
jdk5后
自动装箱
Integer integer2 = n2;
//底层使用方法 Integer.valueOf(n2)
自动拆箱:
int n3 = integer2;
//底层使用:intValue方法
插话:对于三元运算符?:举例:
Object object1 = true? new Integer(1) : new Double(2.0)
此时输出object1时是1.0(因为三元运算符是一个整体,数据类型最大是Double)
包装类与String类转换
包装类转String类
Integer i = 100;
String str1 = i + "";//方式一
String str2 = i.toString();//方式二
String str3 = String.valueOf(i);方式三
String类转包装类
String str4 = "123456789";
Integer i2 = Integer.parseInt(str4);//方式一自动装箱
Integer i3 = new Integer(Str4);//构造器
其他包装类同理
Integer和Character类的常用方法
Integer.MAX_VALUE // 求最大值
Integer.MIN_VALUE // 最小值
Character.isDigit(‘a’) //判断数字
Character.isLetter(‘a’) //判断字母
Character.isUpperCase(‘a’) //判断大写字母
Character.isLowerCase(‘a’) //判断小写字母
Character.isWhitespace(‘a’) //判断空格
Character.toUpperCase(‘a’) // 转换成大写字母
Character.toLowerCase(‘a’) // 转换成小写字母
对于 Integer i = 某数值 底层方法时 Integer.valueOf(某数值)
Integer i = 1;
Integer j = 1;
System.out.println("i == j");
返回true(这里由于赋值在Integer.Cache范围内直接返回值没有创建对对象)(-128~127)
Integer i = 128;
Integer j = 128;
System.out.println("i == j");
返回false(new Integer(i))