------- android培训、java培训、期待与您交流! ----------
包装类
由于java是一种面向对象的语言,所有事物都应当被当做对象。但是却有一个特例,基本数据类型不会被当做对象。当创建一个基本数据类型是,它位于内层的栈中,而对象位于堆中。但是当我们需要对数据进行一些复杂操作时,比如说需要对数据进行增删改查操作,此时就不好操作。也许可以将数据添加到数组中,但是数组的长度是固定的,并且能够提供的功能也有限。此时就需要使用包装类。
基本数据类型对象包装类
八种基本数据类型对应的包装类
byte Byte
short Short
int Integer
long Long
boolean Boolean
float Float
double Double
char Character
基本数据类型转成字符串
基本数据类型对象包装类的最常见作用,就是用于基本数据类型和字符串类型之间做转换。
转换为字符串后,就可以使用字符串中的所有方法了。
基本数据类型转换为字符串的两种方法
基本数据类型+""
基本数据类型.toString(基本数据类型值);
如: Integer.toString(34);//将34整数变成"34";
字符串转成基本数据类型
xxx表示基本数据类型,
xxx a = Xxx.parseXxx(String);
int a = Integer.parseInt("123");
double b = Double.parseDouble("12.23");
boolean b = Boolean.parseBoolean("true");
Integer i = new Integer("123");
int num = i.intValue();
注意:必须保证被转换的字符串中的数据时相应的基本数据类型,否则将抛出NumberFormatException 异常。
进制转换
十进制转成其他进制
以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式。
toBinaryString();
以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式。
toHexString();
以八进制(基数 8)无符号整数形式返回一个整数参数的字符串表示形式。
toOctalString();
记住返回的是相应的字符串。
其他进制转成十进制
radiu表示string中数据的进制。
parseInt(string,radix);
实例
public class IntegerDemo {
public static void main(String[] args) {
//整数类型的最大值。
//必须传入数字格式的字符串。
sop("int max:"+Integer.MAX_VALUE);
//将一个字符串转换成整数
int num = Integer.parseInt("123");
sop("num:"+num);
//进制转换
sop(Integer.toBinaryString(-6));
sop(Integer.toHexString(60));
//将16进制的3c转换为十进制
int x = Integer.parseInt("3c",16);
sop("x="+x);
}
public static void sop(String str){
System.out.println(str);
}
}
自动装箱
自动装箱是JDK1.5版本以后出现的新特性。
public class IntegerDemo1 {
public static void main(String[] args) {
Integer x = 4;
//将给Integer已用赋整形值,相当于x=new Integer(4)
x = x+3;
//本来对象时不能直接参与运算的,此时x自动拆箱,相当于基本数据类型
Integer m = 128;
Integer n = 128;
sop("m==n:"+(m==n));//false
Integer a = 127;
Integer b = 127;
sop("a==b:"+(a==b));//true
//结果为true。因为a和b指向了同一个Integer对象。
//因为当数值在byte范围内容,对于新特性,如果该数值已经存在,则不会在开辟新的空间。
//byte范围为-128-127,所以127在内存中只有一个,a和b是同一个对象,
//而128已经超出范围,m和n属于两个对象。所以m!=n。
}
public static void sop(Object obj){
System.out.println(obj);
}
}