一、基本数据类型及对应的对象包转类
基本数据类型 对应的对象包装类
int Integer
short Short
float Float
double Double
long Long
char Character
boolean Boolean
二、作用:
1、基本数据类型转换成字符串
基本数据类型+”” :如666666+””
基本数据类型包装类.tostring(基本数据类型值):如Integer.tostring(666666);
2、字符串转换成基本数据类型
静态方法:
xxx a = Xxx.parseXxx(String);
int a = Integer.parseInt(“123456”);
double b = Double.parseDouble(“12.34”);
boolean b = Boolean.parseBoolean(“true”);
char类型除外,因为每一个字符串都是由字符组成
非静态方法(调用对象):
Ingeter i = new Integer(“123456”);
int num = i.intValue();
3、进制转换
十进制转换成N进制:
二进制:Integer.toBinaryString();
十六进制:Integer.toHexString();
八进制:Integer.toOctalString();
示例:String a = Integer.toOctalSrting(8);//结果为10
N进制转换为十进制
int x = Integer.parseInt(“110”,2); // 如果为6,第二个参数是指定数值为二进制
三、小知识点
public class DataType {
public static void main(String[] args) {
String a = Integer.toOctalString(8);
Integer m1 = 128;
Integer m2 = 128;
sop("" + (m1 == m2));// 打印结果为false
Integer n1 = 127;
Integer n2 = 127;
sop("" + (n1 == n2));// 打印结果为true
//n1和n2都指向了同一个Integer对象,当数值在byte范围内(-128~127)的时候
//对于1.5新特性,该数值已经存在,不会开辟新的内存空间,打印结果为true
//而m1和m2超过了127,于是两个所指向的Integer对象不同,打印结果为false
Integer x1 = 128;// 自动装箱,等同于 Integer x1 = new Integer(127);
Integer x2 = 128;
int x = x1 + x2;// 自动拆箱,等同于执行了 m1.intValue() 再进行运算
sop(Integer.toString(x));//打印结果为256
sop("" + (x1 == x2));//打印结果为false
sop(""+x1.equals(x2));//打印结果为true
//==和equals的区别:
// == 比较的是对象本身
// equals 比较的是对象的数值
}
public static void sop(String str) {
System.out.println(str);
}
}