Java Object类型转换

Object转String

方法1:采用 Object.toString()方法

1 Object object = getObject();
2 System.out.println(object.toString()); 

在这种使用方法中,因为java.lang.Object类里已有public方法.toString(),所以对任何严格意义上的java对象都可以调 用此方法。但在使用时要注意,必须保证object不是null值,否则将抛出NullPointerException异常。采用这种方法时,通常派生类会覆盖Object里的toString()方法。

方法2:采用String.valueOf(Object)
String.valueOf(Object)的基础是Object.toString()。但它与Objec.toString()又有所不同。在前面方法1的分析中提到,使用后者时需保证不为null。但采用第三种方法时,将不用担心object是否为null值这一问题。为了便于说明问题,我们来分析一下相关的源代码。Jdk里String. valueOf(Object)源码如下:

public static String valueOf(Object obj) {
       return (obj == null) ? "null" : obj.toString();
}

从上面的源码可以很清晰的看出null值不用担心的理由。但是,这也恰恰给了我们隐患。我们应当注意到,当object为null时,String.valueOf(object)的值是字符串”null”,而不是null!!!在使用过程中切记要注意。

object转int

1.如果object是byte,short,int,char类型生成的,那么不用转换直接赋值就ok了。
2.如果object是字符串类型生成的,先把object转换为String类型的,再把String类型转换为int类型。
例如.
String myInt="123";
Object os=myInt;
int b=Integer.parseInt((String)os);//还可以os.toString()
3.如果object是float,double,long类型生成的,思路和上面一样,先把object转换为相应的数据类型,然后再转换为int类型。

object转Date

SimpleDateFormat可以将String转为Date,也可以Date转为String.
.parse(String)
.format(Date)
即:
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-mm-dd");
String indate=sdf.format(date);
Date indate=sdf.parse(String);

如果你使用SpinnerDateModel.
可以试一下直接将你这个Object强制转换为Date
Date date = (Date) object;


版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。