在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));//是字符串“null” System.out.println(null);//是空值null
我们看到的输出将是一模一样的东西:null,但它们意义相同吗?
以上所述是小编给大家介绍的Java中区别.toString() ,(String),valueOf()方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# java中string.valueof
# java
# string
# tostring
# 浅析JAVA中toString方法的作用
# java中的 toString()方法实例代码
# java中的equals()和toString()方法实例详解
# 浅谈Java编程ToString()方法重写的意义
# Java中替代equals
# compareTo和toString的方法
# 一篇文章带你了解java Object根类中关于toString
# equals的方法
# Java中toString()、String.valueOf、(String)强转区别
# 的是
# 这一
# 转成
# 会报
# 转换为
# 抛出
# 小编
# 这是
# 这种方法
# 在此
# 已有
# 又有
# 但在
# 这也
# 要注意
# 给了
# 注意到
# 将是
# 给大家
# 在这种
相关文章:
移民网站制作流程,怎么看加拿大移民官网?
如何在腾讯云免费申请建站?
定制建站如何定义?其核心优势是什么?
成都网站制作公司哪家好,四川省职工服务网是做什么用?
北京营销型网站制作公司,可以用python做一个营销推广网站吗?
贸易公司网站制作流程,出口贸易网站设计怎么做?
教程网站设计制作软件,怎么创建自己的一个网站?
青岛网站建设如何选择本地服务器?
linux top下的 minerd 木马清除方法
网站制作需要会哪些技术,建立一个网站要花费多少?
宝塔建站教程:一键部署配置流程与SEO优化实战指南
如何在Golang中使用encoding/gob序列化对象_存储和传输数据
如何通过NAT技术实现内网高效建站?
网站制作大概要多少钱一个,做一个平台网站大概多少钱?
全景视频制作网站有哪些,全景图怎么做成网页?
深入理解Android中的xmlns:tools属性
高防服务器:AI智能防御DDoS攻击与数据安全保障
如何在Windows环境下新建FTP站点并设置权限?
建站之星体验版:智能建站系统+响应式设计,多端适配快速建站
如何在Golang中指定模块版本_使用go.mod控制版本号
高端建站三要素:定制模板、企业官网与响应式设计优化
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?
北京专业网站制作设计师招聘,北京白云观官方网站?
如何快速登录WAP自助建站平台?
如何获取开源自助建站系统免费下载链接?
红河网站制作公司,红河事业单位身份证如何上传?
深圳网站制作案例,网页的相关名词有哪些?
如何在建站之星绑定自定义域名?
PHP 500报错的快速解决方法
如何通过宝塔面板实现本地网站访问?
如何用搬瓦工VPS快速搭建个人网站?
微信小程序 五星评分(包括半颗星评分)实例代码
制作电商网页,电商供应链怎么做?
制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?
如何高效搭建专业期货交易平台网站?
企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?
网站制作报价单模板图片,小松挖机官方网站报价?
专业公司网站制作公司,用什么语言做企业网站比较好?
如何配置支付宝与微信支付功能?
建站主机核心功能解析:服务器选择与网站搭建流程指南
实现点击下箭头变上箭头来回切换的两种方法【推荐】
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
成都品牌网站制作公司,成都营业执照年报网上怎么办理?
C#如何在一个XML文件中查找并替换文本内容
广州网站建站公司选择指南:建站流程与SEO优化关键词解析
如何快速搭建支持数据库操作的智能建站平台?
,sp开头的版面叫什么?
怀化网站制作公司,怀化新生儿上户网上办理流程?
如何用虚拟主机快速搭建网站?详细步骤解析
*请认真填写需求信息,我们会在24小时内与您取得联系。