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);

posted @ 2017-07-26 15:02  青山不改,绿水长流  阅读(285)  评论(1编辑  收藏  举报