为了让基本类型的数据进行更多的操作,java就为每种基本类型提供了对应的包装类类型
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
Integer的构造方法
Integer i =new Integer(100)
Integer i =new Integer("100")
注意:这里的字符串必须是由数字字符组成
int类型和String类型的互相转化
int ---String
String.valueOf(number)
注意,房里里的参数可以是任何类型,也就是说通过String类
的该方法,可以把任何类型的数据转成字符串
String---int
Integer.parseInt(s)
注意:parseInt()这个方法,在相对应的包装类里都有
也就是说,可以把字符串转成任何类型
常用的基本进制转换
public static String toBinaryString(int i)
public static String to0ctalString(int i)
public static String tohexString(int i)
十进制到其他进制
public static String toString(int i,int radix)
由于这个我们也看到了进制的范围:2到36
为什么呢?0-9,a-z
其他进制到十进制
public static int parseInt(String s,int radix)
自动装箱和拆箱:
jdk1.5以后,简化了定义方式
Integer x = new Integer(4);
可以直接写成 Integer x = 4;//自动装箱
x = x+5;//自动拆箱,通过intValue方法
需要注意的是:
在使用时,Integer x = null;上面的代码就会出现NullPointrEception
例如:
Integer i = 100;
i +=200;
syso("i:"+i);
通过反编译后的代码
//Integer i = Integer.valueOf(100);
//自动装箱
i = Integer.valueOf(i.intValue()+200);
//自动拆箱,再自动装箱
syso(new StringBuilder.append(i).toString());
面试题:
Integer i1 = new Interger(127);
Integer i2 = new Interger(127);
syso(i1 == i2); false
syso(i1.equals(i2));true
Integer i3 = new Interger(128);
Integer i4 = new Interger(128);
syso(i3 == i4); false
syso(i3.equals(i4));true
Integer i5 = 128;
Integer i6 = 128;
syso(i5 == i6); false
syso(i5.equals(i6));true
Interger i7 = 127;
Interger i8 = 127;
syso(i7 == i8); true //注意----
syso(i7.equals(i8));true
注意:Interger的数据直接赋值,如果在-128到127之间,会直接从缓冲区里获取数据
Character 类在对象中包装一个基本类型char的值
此外,该类提供了几种方法,以确定字符的类别(小写字母,数字,等等)
并将字符从大写转到小写,反之亦然
构造方法:
Character(char value)
public static boolean isUpperCase(char ch)
判断给定字符是否是大写字符
public static boolean isLowerCase(char ch)
判断给定的字符是否是小写字符
public static boolean isDigit(char ch)
判断给定的字符是否是数字
public static char toUpperCase(char ch)
把给定的字符转换为大写字母
public static char toLowerCase(chaar ch)
把给定的字符转换为小写字母