浅析Java中类型转换:String与int、long、Interger、char互相
转换。。。
⼀、String 与 int、long、Interger、char 互相转换1、String 与 int 互相转换
// String 转 int
int i = Integer.valueOf(my_str).intValue();int i = Integer.parseInt(str);// int 转 String
String s = String.valueOf(i);String s = Integer.toString(i); String s = \"\" + i;2、long 转 String:
使⽤String.valueOf();类似的,可以把int,double等等都转换成String Long.valueOf(str);还能把String转换为long,不过需要确定是long型//⼀、String类⽅法,String.valueOf(),⽐如:long aa = 123;
String a = String.valueOf(aa);
//⼆、最简单的直接将long类型的数据加上⼀个空串long aa = 123;String a = aa+\"\";3、String 与 Ineger 互转(1)String 转 Integer
当我们要把String转化为Integer时,⼀定要对String进⾏⾮空判断,否则很可能报空指针异常。String str = \"...\";Integer i = null;if(str!=null){
i = Integer.valueOf(str);}
(2)Integer 转 String
//⽅法⼀:Integer类的静态⽅法toString()Integer a = 2;
String str = Integer.toString(a)//⽅法⼆:Integer类的成员⽅法toString()Integer a = 2;
String str = a.toString();
//⽅法三:String类的静态⽅法valueOf()Integer a = 2;
String str = String.valueOf(a);
1、通过toString()⽅法,可以把整数(包括0)转化为字符串,但是Integer如果是null的话,就会报空指针异常。 2、String.valueOf(Object obj)可以把整型(包括0)转化为字符串,但是Integer如果是null的话,会转化为”null”。 3、当Integer是null的情况下,我们也希望String是null,上⾯的⽅法都没法做到。可以⾃⼰写⼀个⽅法:public static String toString(Object obj) { return (obj == null) ? null : obj.toString();}
另外,Apache提供的ObjectUtils.identityToString(Object obj)也可以实现。但是ObjectUtils.toString(Object obj)不⾏,该⽅法会把null转化为“ ”。
4、int 与 Integer 互转
// int 转 Integer
Integer integer = new Integer(i);// Integer 转 int
int num=Integer.intValue();5、String 与 char 互转// String 转 char
char[] ca = \"123\".toCharArray();
// char 转 String
String s = ca.toString(); //任何类型都可以采⽤toString()转换成String类型6、⽇期相关
//⽇期
Calendar calendar=Calendar.getInstance();int year=calendar.get(Calendar.YEAR);
int month=calendar.get(Calendar.MONTH)+1;int day=calendar.get(Calendar.DATE);
//获取今天的⽇期字符串
String today=java.text.DateFormat.getDateInstance().format(new java.util.Date());//获取今天的⽇期
new java.sql.Date(System.currentTimeMillis());7、JAVA数据类型转换 :
import java.sql.Date;
public class TypeChange { public TypeChange() { }
//change the string type to the int type public static int stringToInt(String intstr) {
Integer integer;
integer = Integer.valueOf(intstr); return integer.intValue(); }
//change int type to the string type
public static String intToString(int value) {
Integer integer = new Integer(value); return integer.toString(); }
//change the string type to the float type
public static float stringToFloat(String floatstr) {
Float floatee;
floatee = Float.valueOf(floatstr); return floatee.floatValue(); }
//change the float type to the string type
public static String floatToString(float value) {
Float floatee = new Float(value); return floatee.toString(); }
//change the string type to the sqlDate type
public static java.sql.Date stringToDate(String dateStr)//转换成时间 {
return java.sql.Date.valueOf(dateStr); }
//change the sqlDate type to the string type
public static String dateToString(java.sql.Date datee) {
return datee.toString(); }
public static void main(String[] args) {
java.sql.Date day ;
day = TypeChange.stringToDate(\"2003-11-3\"); String strday = TypeChange.dateToString(day); System.out.println(strday); }}
⼆、Java对象与Json字符串间的相互转换(1)简单的解析json字符串
// ⾸先将json字符串转换为json对象,然后再解析json对象,过程如下。JSONObject jsonObject = JSONObject.fromObject(jsonStr);// 再根据json中的键得到它的值
String name = jsonObject.getString(\"name\");int num = jsonObject.getInt(\"num\");(2)将json字符串转换为java对象
同样先将json字符串转换为json对象,再将json对象转换为java对象,如下所⽰://将json字符串转换为json对象
JSONObject obj = new JSONObject().fromObject(jsonStr);// 将json对象转换为java对象 - 将json对象转换为Person对象Person jb = (Person)JSONObject.toBean(obj, Person.class);(3)将java对象转换为json字符串
先将java对象转换为json对象,在将json对象转换为json字符串
JSONObject json = JSONObject.fromObject(obj); // 将java对象转换为json对象String str = json.toString(); // 将json对象转换为字符串