1、包装数据类型与基本数据类型之间的转换
简单类型的变量转换为相应的包装类,可以利用包装类的构造函数。即:Boolean(booleanvalue)、Character(charvalue)、Integer(intvalue)、Long(longvalue)、Float(floatvalue)、Double(doublevalue)
例子:
正向转换:通过类包装器来new出一个新的类类型的变量
Integer a= new Integer(2);
反向转换:通过类包装器来转换
int b=a.intValue();相当于强制类型转换
int i=Integer.parseInt("123");
int i=Integer.valueOf(“123”).intValue();
2、字符串与其他类型间的转换
2.1 其他类型向字符串的转换
①调用类的串转换方法:
X.toString();
②自动转换:
X+“”;
③使用String的方法:String.volueOf(X);
2.2 字符串向其他类型转换
①先转换成相应的封装器实例,再调用对应的方法转换成其它类型
例如,字符中“32.1”转换double型的值的格式为:new Float(“32.1”).doubleValue()。
也可以用:Double.valueOf(“32.1”).doubleValue()
②静态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 );
String、Integer、int之间的转换
Object data;
String data1=data.toString();
Integer data2=Integer.parseInt((String) data);//或者
Integer data2=Integer.parseInt(data1);
Integer data3=Integer.valueOf((String) data);//或者Integer data3=Integer.valueOf(data1);
parseInt与valueOf的区别:
static int parseInt(String s)
将字符串参数作为有符号的十进制整数进行分析。
static Integer valueOf(int i)
返回一个表示指定的 int 值的 Integer 实例。
static Integer valueOf(String s)
返回保持指定的 String 的值的 Integer 对象。
Integer.parseInt(chuan)返回值是int型的.
Integer.valueOf(chuan)返回值是Integer型的.把Integer赋值给int型的话,JRE会自己完成这些工作.
Integer.parseInt(”“);会报异常,要进行try catch
关于String与Integer转换的一个小问题
mybatis可以直接将Integer类型的0转换为空字符串,但是在插入数据的时候又把空字符串过滤掉,所以不能插入数据
空字符串不能直接转化为Integer类型的null或者0,需要捕获异常
3、String与Date的转换
3.1 String转Date
String date="";
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");
Date d=format.parse(date);
3.2 Date转String
Date d=new Date();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
String date=sdf.format(d);
日期的字符串:d.toString();
日期的毫秒数:d.getTime();