栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA对象的转换与String常用的几种方法使用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA对象的转换与String常用的几种方法使用

在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)源码如下:

  

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


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/239047.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号