Java中数据类型转换⼤全(个⼈总结)⼀、字符串转换为其他类型
1、将字符串转化为int型
(1)⽅法⼀
int i = Integer.parseInt(String str);
(2)⽅法⼆
int i = Integer.valueOf(String str).intValue();
注:Integer.parseInt和 Integer.valueOf 不同,前者⽣成的是整型,⽽后者是⼀个对象,所以要通过intValue()来获得对象的值; 字串转成 Double, Float, Long 的⽅法⼤同⼩异.
2、将字符串转化为Double型
(1)⽅法⼀
Double i=Double.parseDouble(String str);
(2)⽅法⼆
Double i=Double.valueOf(String str).doubleValue();
3、将字符串转化为Float型
(1)⽅法⼀
Float i=Float.parseFloat(String str);
(2)⽅法⼆
Float i=Float.valueOf(String str).floatValue();
4、将字符串转化为Long 型
(1)⽅法⼀
Long i=Long .parseLong(String str);
(2)⽅法⼆
Long i=Long.valueOf(String str).longValue();
⼆、其他类型转换为字符串
1、将int类型转换为字符串
(1)⽅法⼀
String str = String.valueOf(int i);
(2)⽅法⼆
String str = String(int i);
(3)⽅法三
String str = “” + i ;
注:Double, Float, Long 的⽅法⼤同⼩异.
2、将Double类型转换为字符串
(1)⽅法⼀
String str = String.valueOf(int i);
(2)⽅法⼆
String str = String(int i);
(3)⽅法三
String str = “” + i ;
3、将Float类型转换为字符串
(1)⽅法⼀
String str = String.valueOf(int i);
(2)⽅法⼆
String str = String(int i);
(3)⽅法三
String str = “” + i ;
4、将Long 类型转换为字符串
(1)⽅法⼀
String str = String.valueOf(int i);
(2)⽅法⼆
String str = Long .toString(int i);
(3)⽅法三
String str = “” + i ;
三、Long、String、Date类型之间的转化
1、java.util.Date类型转换成long类型
Date date=new Date();
System.out.Time());
解析:其中getTime()返回为long类型,长度为13,表⽰毫秒;如果想获得秒数,只需要除以1000即可。
long Time()/1000;
2、long类型转换成java.util.Date类型
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date date = new Date(mseconds * 1000);
String str = sdf.format(date);
System.out.println(str);
前⾯的mseconds是表⽰的是秒数,所以要先乘1000得到毫秒数,再转为java.util.Date类型,这样就完成了long到Date的转化; 为了格式化输出Date,可以调⽤SimpleDateFormat的format⽅法格式化输出Date
3、形如“2015-08-31 21:08:06”等格式化string类型转换成java.util.Date类型
String str="2015-08-31 21:08:06";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = (Date) sdf.parse(str);
System.out.Time());
其输出结果为
1441026486000
有时候需要对CST时间进⾏转化,如:Wed Sep 16 11:26:23 CST 2009,此时同样可以⽤SimpleDateFormat的parse解决String str="Wed Sep 16 11:26:23 CST 2009";
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);
Date date = (Date) sdf.parse(str);
四、float类型、double类型、int类型的转换
1、float类型转换为double类型
(1)⽅法⼀
/**
* 借助Float型的doubleValue()⽅法
*/
float f1=100.00f;
Float F1=new Float(f1);//F1.doubleValue()为Float类的返回double值型的⽅法
double d1=F1.doubleValue();
(2)⽅法⼆
/**
* 先将float型转换为String类型,再转换成BigDecimal,借助其doubleValue()⽅法
*/
float f = 127.1f;
BigDecimal b = new BigDecimal(String.valueOf(f));
double d = b.doubleValue();
2、double类型转换为float类型
double d = 3.14;
float f = (float)d;
3、double类型转换为int类型
double d1=100.00;
Double D1=new Double(d1);
int i1=D1.intValue();
4、int类型转换为double类型
int i1=200;
double d1=i1;
五、其他应⽤⼩实例
1、Long类型转换为int类型
(1)⽅法⼀:强制转换
long L = 300000;
int i=(int)L;
(2)⽅法⼆:调⽤intValue()⽅法
long L = 300000;
int i= new Long(L).intValue();
(3)⽅法三:先把long转换成字符串String,然后在转⾏成Integer
long L = 300000;
int i = Integer.parseInt(String.valueOf(L));
2、Long类型转换为integer类型
Integer i=new Long(Long l).intValue();
六、总结
1、字符串与其他类型间的转换
(1)其他类型向字符串的切换
a、调⽤类的串转换⽅法:X.toString();
b.⾃动转换:X+“”;
c.使⽤String的⽅法:String.valueOf(X);
(2)字符串作为值,向其它类型的转换
a.先转换成相应的封装器实例,再调⽤对应的⽅法转换成其它类型
例如,字符中“32.1”转换double型的值的格式为:
new Float(“32.1”).doubleValue()。
b.静态parseXXX⽅法
String s = "1";
byte b = Byte.parseByte( s );
short t = Short.parseShort( s );
int i = Integer.parseInt( s );
long l = Long.parseLong( s );
Float f = Float.parseFloat( s );
Double d = Double.parseDouble( s );
c.Character的getNumericValue(char ch)⽅法
返回指定的 Unicode 字符表⽰的int值。
(3)其它实⽤数据类型转换
2、数据类型
基本类型有以下四种:
(1)int长度数据类型有:byte(8bits)、short(16bits)、int(32bits)、long(64bits)、
(2)float长度数据类型有:单精度(32bits float)、双精度(64bits double)
(3)boolean类型变量的取值有:ture、false
(3)char数据类型有:unicode字符,16位
(4)对应的类类型:Integer、Float、Boolean、Character、Double、Short、Byte、Long 3、转换原则
(1)从低精度向⾼精度转换
byte 、short、int、long、float、double、char
注:两个char型运算时,⾃动转换为int型;当char与别的类型运算时,也会先⾃动转换为int型的,再做其它类型的⾃动转换
(2)基本类型向类类型转换
a.正向转换:通过类包装器来new出⼀个新的类类型的变量
Integer a= new Integer(2);
b.反向转换:通过类包装器来转换
int b=a.intValue();
(3)类类型向字符串转换
a.正向转换:因为每个类都是object类的⼦类,⽽所有的object类都有⼀个toString()函数,所以通过toString()函数来转换即可
bigdecimal格式化两位小数 b.反向转换:通过类包装器new出⼀个新的类类型的变量
eg1: int i=Integer.valueOf(“123”).intValue()
说明:上例是将⼀个字符串转化成⼀个Integer对象,然后再调⽤这个对象的intValue()⽅法返回其对应的int数值。
eg2: float f=Float.valueOf(“123”).floatValue()
说明:上例是将⼀个字符串转化成⼀个Float对象,然后再调⽤这个对象的floatValue()⽅法返回其对应的float数值。
eg3: boolean b=Boolean.valueOf(“123”).booleanValue()
说明:上例是将⼀个字符串转化成⼀个Boolean对象,然后再调⽤这个对象的booleanValue()⽅法返回其对应的boolean数值。 eg4:double d=Double.valueOf(“123”).doubleValue()
说明:上例是将⼀个字符串转化成⼀个Double对象,然后再调⽤这个对象的doubleValue()⽅法返回其对应的double数值。
eg5: long l=Long.valueOf(“123”).longValue()
说明:上例是将⼀个字符串转化成⼀个Long对象,然后再调⽤这个对象的longValue()⽅法返回其对应的long数值。
eg6: char=Character.valueOf(“123”).charValue()
说明:上例是将⼀个字符串转化成⼀个Character对象,然后再调⽤这个对象的charValue()⽅法返回其对应的char数值。
(4)基本类型向字符串的转换
a.正向转换:
如:int a=12;
String b;b=a+””;
b.反向转换:
通过类包装器
eg1:int i=Integer.parseInt(“123”)
说明:此⽅法只能适⽤于字符串转化成整型变量
eg2: float f=Float.valueOf(“123”).floatValue()
说明:上例是将⼀个字符串转化成⼀个Float对象,然后再调⽤这个对象的floatValue()⽅法返回其对应的float数值。
eg3: boolean b=Boolean.valueOf(“123”).booleanValue()
说明:上例是将⼀个字符串转化成⼀个Boolean对象,然后再调⽤这个对象的booleanValue()⽅法返回其对应的boolean数值。 eg4:double d=Double.valueOf(“123”).doubleValue()
说明:上例是将⼀个字符串转化成⼀个Double对象,然后再调⽤这个对象的doubleValue()⽅法返回其对应的double数值。
eg5: long l=Long.valueOf(“123”).longValue()
说明:上例是将⼀个字符串转化成⼀个Long对象,然后再调⽤这个对象的longValue()⽅法返回其对应的long数值。
eg6: char=Character.valueOf(“123”).charValue()
说明:上例是将⼀个字符串转化成⼀个Character对象,然后再调⽤这个对象的charValue()⽅法返回其对应的char数值。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论