<b>将java对象转为java String的几种常用办法解析</b>[Java编程]
本文“<b>将java对象转为java String的几种常用办法解析</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
在java项目的实际开辟和利用中,常常需求用到将对象转为String这一基本功效.本文将对常用的转换办法举行一个总结.常用的办法有Object#toString(),(String)要转换的对象,String.valueOf(Object)等.下面对这些办法一一举行解析.
办法1:采取Object#toString()办法
请看下面的例子:
Objectobject=getObject();
System.out.println(object.toString()); 注1
在这种利用办法中,因为java.lang.Object类里已有public办法.toString(),所以对任何严峻意义上的java对象都可以调用此办法.但在利用时要注意,必须保证object不是null值,不然将抛出NullPointerException非常.采取这种办法时,普通派生类会覆盖Object里的toString()办法.
办法2:采取范例转换(String)object办法
这是尺度的范例转换,将object转成String范例的值.利用这种办法时,需求注意的是范例必须能转成String范例.因此最好用instanceof做个范例查抄,以判断能否可以转换.不然简单抛出CalssCastException非常.此外,需分外当心的是因定义为Object范例的对象在转成String时语法查抄并不会报错,这将大概招致潜在的错误存在.这时要分外当心.如:
Objectobj=newInteger(100);
String strVal=(String)obj;
在运行时将会出错,因为将Integer范例强迫转换为String范例,无法通过.但是,
Integerobj=newInteger(100);
String strVal=(String)obj;
如是格局代码,将会报语法错误.
此外,因null值可以强迫转换为任何java类范例,(String)null也是合理的.
办法3:采取String.valueOf(Object)
String.valueOf(Object)的底子是Object#toString().但它与Object#toString()又有所差别.在前面办法1的解析中提到,利用后者时需保证不为null.但采取第三种办法时,将不用耽忧object能否为null值这一问题.为了便于阐明问题,我们来解析一下相关的源代码.Jdk里String#valueOf(Object)源码以下:
/**
*ReturnsthestringrepresentationoftheObjectargument.
*
*@param obj anObject.
*@return iftheargumentisnull,thenastringequalto
*"null";otherwise,thevalueof
*obj.toString()isreturned.
*@see java.lang.Object#toString()
*/
publicstaticStringvalueOf(Objectobj){
return(obj==null)?"null":obj.toString();
}
从上面的源码可以很清楚的看出null值不用耽忧的来由.但是,这也恰好给了我们隐患.我们该当注意到,当object为null时,String.valueOf(object)的值是字符串”null”,而不是null!!!在利用历程中牢记要注意.试想一下,假如我们用if(String.valueOf(object)==null){System.out.println(“传入的值是null!”);}这样的语句将大概会发生什么问题.再想一下,向掌握台输出时,在视觉上以下语句在履行的后果上有什么差别:
System.out.println(String.valueOf((Object)null)); 注2
System.out.println((Object)null); 注2
我们看到的输出将是一模一样的东西:null,但它们意义相同吗?
注1:光就System.out.println的利用来说,语句System.out.println(object.toString());换为System.out.println(object);更好.此处如是用法主如果为了阐明Object#toString()的用法.
注2:举荐利用System.out.println(String.valueOf((Object)null));不举荐利用System.out.println(String.valueOf(null));在利用重载办法时,这样做是一个好的习惯.
以上是对object对象转换为String的一些总结.
以上是“<b>将java对象转为java String的几种常用办法解析</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |