java类型转换
1.Object转String[]数组:
Object l = it.remove(-1, 1, 3);
String[] newarray = null;
if (l.getClass().isArray()) {
int length = Array.getLength(l);
newarray = new String[length];
for (int i = 0; i < length; i++) {
newarray[i] = String.valueOf(Array.get(l, i));
}
}
for (String str : newarray) {
System.out.println(str);
}
2.Object转String类型
(1)Object.toString():
Object object = getObject();
System.out.println(object.toString());
注:转换之前确保object不是null值,否则将抛出NullPointerException异常。
(2)(String)object
注意:转换之前必须确保类型必须能转成String类型。因此最好用instanceof做个类型检查,以判断是否可以转换。否则容易抛出CalssCastException异常。
此外,因null值可以强制转换为任何java类类型,(String)null也是合法的。
(3)String.valueOf(Object)
注:
因为源码为:
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
①所以不用考虑object若为null值,不会报错
②当object为null时,String.valueOf(object)的值是字符串”null”,而不是
null!!! 所以要特别注意
3.Object转int
(1)(int)obj
(2)Inerger.parseInt(obj.toString())
例:
int a=1;
Object ao=a;
int b = (int)ao
int c=Inerger.parseInt(obj.toString());
4.String int 转换(String转Double, Float, Long方法一样)
(1)String转int
① int i = Integer.parseInt([String]); 或
int i = Integer.parseInt([String],[int radix]);
② int i = Integer.valueOf(my_str).intValue();
new Integer.valueof()返回的是Integer的对象。
Integer.parseInt() 返回的是一个int的值。
new Integer.valueof().intValue();返回的也是一个int的值。
Integer.valueof(String s)是将一个实际值为数字的变量先转成string型再将它转成Integer型的包装类对象(相当于转成了int的对象)这样转完的对象就具有方法和属性了。
而Integer.parseInt(String s)只是将是数字的字符串转成数字,注意他返回的是int型变量不具备方法和属性。
(2)int转String
① String s = String.valueOf(i);
② String s = Integer.toString(i);
③ String s = "" + i;
5.boolean 转String
(1) boolean bool = true;
String s = new Boolean(bool).toString();//将bool利用对象封装器转化为对象
s.equals("true");
(2) boolean bool = true;
String s = String.valueOf( bool );
注:①第二种方法更简洁;②第一种方法在转化过程中多引入了一个完全没有必要的对象,因此,相对第二种方法来说这就造成了内存空间的浪费,大大减慢了运行速度。所以,推荐使用第二种方法。
6.String 转 Date
导入 java.util.Date date=null;
date=java.sql.Date.valueOf(String s);