当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:14:00  来源:本站整理

<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编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .