网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > JAVA > 核心技术 > 高级编程 > JAVA对象转为Java String的几种常用方法  

JAVA对象转为Java String的几种常用方法

2004-08-11  作者:BitsCN整理  来源:中国网管联盟  点评 投稿 收藏


  在java项目的实际开发和应用中,常常需要用到将对象转为String这一基本功能。本文将对常用的转换方法进行一个总结。常用的方法有Object#toString(),(String)要转换的对象,String.valueOf(Object)等。下面对这些方法一一进行分析。
  
  方法1:采用 Object#toString()方法
  请看下面的例子:
  
    Object object = getObject();
  
  System.out.println(object.toString());
  
  在这种使用方法中,因为java.lang.Object类里已有public方法.toString(),所以对任何严格意义上的java对象都可以调用此方法。但在使用时要注意,必须保证object不是null值,否则将抛出NullPointerException异常。采用这种方法时,通常派生类会覆盖Object里的toString()方法。
  
  方法2:采用类型转换(String)object方法
  这是标准的类型转换,将object转成String类型的值。使用这种方法时,需要注意的是类型必须能转成String类型。因此最好用instanceof做个类型检查,以判断是否可以转换。否则容易抛出CalssCastException异常。此外,需特别小心的是因定义为Object 类型的对象在转成String时语法检查并不会报错,这将可能导致潜在的错误存在。这时要格外小心。如: 网管u家u.bitscn@com
  
  Object obj = new Integer(100);
  
  String strVal = (String)obj;
  
  在运行时将会出错,因为将Integer类型强制转换为String类型,无法通过。但是,
  
  Integer obj = new Integer(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)源码如下:
  
    /**
  
     * Returns the string representation of the Object argument.
  
     *
  
     * @param  obj  an Object.
  
     * @return if the argument is null, then a string equal to
  
     *     "null"; otherwise, the value of
网管u家u.bitscn@com

  
     *     obj.toString() is returned.
  
     * @see   java.lang.Object#toString()
  
     */
  
    public static String valueOf(Object obj) {
  
      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(null));
  
  System.out.println(null);
  
  我们看到的输出将是一模一样的东西:null,但它们意义相同吗?

TAGs常用   方法   对象   转为   null   String   类型   object   转换   String.valueOf    
 上一篇:工作流引擎Shark中调用外部程序的方法   下一篇:面向对象的软件测试与传统测试的比较
相关文章列表
JAVA对象转为Java String的几种常用方法 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
1.用java编写的小游戏源代码分析
2.在.Net程序中使用log4net记录日志
3.Java与sqlserver2000的连接
4.Java源代码案例--骑士巡游问题
5.Java游戏编程分析--棋子的拖动
6.JAVA 正则表达式4种常用的功能
7.Log4j的使用总结!(用于收藏救急用)
8.JFreeChart中柱状图的详细设置
9.学习教程:Java Annotation 高
10.JAVA对象转为Java String的几种常用方法
最新推荐文章:
1.该如何实践State模式
2.JFreeChart中柱状图的详细设置
3.Java Swing APIs可插拔式外观风格特性应
4.用信号量Semaphore实现互斥锁Mutex
5.使用Weblogic Integration的应用程序架构
6.设计Java应用程序
7.对Java嵌套类的讨论(上)
8.提高Java代码可重用性的三个措施
9.JAVA上加密算法的实现用例
10.总结篇:将内部类进行到底
网管论坛交流:
·不疯魔不成活
·令你大开眼界的真正标准化机房,已整理重
·为赈灾,女孩舍身拍“裸照”
·Windows Server 2003服务器群集创建和配
·exchange2k3全套官方资料
·双儿一周岁了。。。特殊的礼物来啦。。
·存储备份技术版块守则
·无盘技术交流区守则
·DOS命令基础大全之命令详解<作者吐血
·Windows XP 操作系统默认设置需要注意的