Java_数据类型之间的转换
数据类型之间的转换
基本数据类型之间转换
各数据类型按容量大小(数范围大小)从小到大排序:
byte、short、char--int--long--float--double
1-容量小的类型自动转化为容量大的:double a = 10;
2-容量大的类型转化为小的强制类型转换:int a = (int)10.0;
注:char向整形转换,会转换为对应的ASCII码值
String转**
String转int
String s = "1234";
1)int a = Integer.valueOf(s);//自动拆箱转化 int a = Integer.valueOf(s).intValue()
2)int b = Integer.parseInt(s);
注:字符串转double、float和long方法相似(valueOf和parseXX)
String s = "1234";
1)double a = Double.valueOf(s);//隐式类型转化 double a = Double.intValue()
2)double b = Double.parseDouble(s);
String转char
String s = "男";
1)char c = s.toCharArray()[0];//先转数组再获取
2)char c = s.charAt(0);//根据索引获取
String转包装
String s = "123";
1)Integer a = new Integer(s);//构造器
2)Integer a = Integer.valueOf(s);
**转字符串
int 转String
//int long float double char char[] Object Boolean都可以用valueOf()方法(静态)转换
1)String s = String.valueOf(10);
2)String s = "abc"+"";
3)String s = Integer.toString(10);
注:double、float、long的方法相似
Char转String
1)String s = String.valueOf('c');//效率最高
2)String s = Character.toString('c');//通过包装类转换
3)String s =""+c;//效率低,底层调用StringBuilder().append().append("").toString();
包装类转String
Integer a = 123;//直接装箱
1)String s = a.toString();
2)String s = Integer.toString(123);//直接以参数形式传入
3) String s = a + "";
注:大部分类重写了toString()
包装类与基本数据类型
int与Integer
//int与Integer自动拆装箱
Integer a = 10;//自动装箱 Integer a = Integer.valueOf(10);
int b = a;// 自动拆箱 int b = Integer.intValue();
//int与Integer手动拆装箱
Integer a = new Integer(10);//手动装箱 构造器
int b = a.intValue();//手动拆箱
注:double、float、long的方法相似
小结:
- 可以通过包装类作为桥梁进行转换
基础数据类型--包装类--String类