• --:)欢迎访问锋网源码(:--
  • 首页
  • RSS订阅
  • 常用软件
  • 网页模板
  • 网站运作
  • 锋网学院
  • 智能建站
  • 时代互联
  • 中国红网
  • 中资源!
  • 繁體中文

  • 学院首页
  • 新闻资讯
  • 网站运营
  • 网站开发
  • 美工设计
  • 数据库类
  • 服务器类
  • 网络应用
  • 操作系统
  • 软件教学
编程开发   认证考试   网络安全   文章搜索: 高级搜索
会员登录/控制面版 您的位置: 学院首页 >> 认证考试 >> java认证 >> 文章内容
 

精彩推荐

 
 

本类推荐文章

 
 

本类阅读排行

  • JAVA:使用Axis开发Web Servi..
  • 区分JAVA引用类型和原始类型
  • 属性配置文件的使用方法
  • String.getBytes()方法中的中..
  • 剖析Java对象转为String的几..
  • 在Java中轻松实现界面跳转
  • java中实现sql的select函数功..
  • java的“别名”以及clone机制..
  • JAVA:EJB 的异常处理的最佳做..
  • 用Java简单实现文件分割与合..
  • 如何突破Java异常处理规则
  • 什么是基于Java的责任链模式
  • 有效使用final关键字的准则
  • JAVA使用内部类和匿名类优化..
  • 高手告诉你Java学习的捷径
  • SCWCD考试大纲中各部分的题量..
  • 如何迅速获取Java认证?
  • Static和Final修饰类属性变量..
  • 浅析Java中Data类的实际应用
  • Web应用中Java的速度真相探讨..
 
 

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

  • 日期:2008-01-01     人气:     出处:本站     作者:
  • 字体大小:
  • 小
  • 中
  • 大

在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时语法检查并不会报错,这将可能导致潜在的错误存在。这时要格外小心。如:

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
*  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,但它们意义相同吗?

以上就是对object对象转换为String的一些总结。

相关文章
  • 黑客入侵网站的常用方法
  • 网站推广的几种有效的常用方法
  • .NET中取得IP/用户名等信息常用方法
相关软件

  • 网友评论:
  • 查看所有评论
  • 我要发表评论
 

关于本站 | 广告联系 | 版权声明 | 网站地图 | 加入收藏 | 帮助中心 |

Copyright © 2006-2007 fwvv.net  程序支持:木翼  皖ICP备06004916号  

感谢:点击网络 联网科技 天盈信息  提供服务器及带宽赞助