浅谈(String),toString() ,String.ValueOf() 3种类型转换

由于在项目中,出现String类型转换的问题,我在网上查了一下,然后总结了一下。

1、(String)

这是标准的类型转换,将object转成String类型的值。使用这种方法时,需特别小心的是因定义为 Object 类型的对象在转成String时语法检查并不会报错,这将可能导致潜在的错误存在。这时要格外小心。

例: Object obj = new Integer(100); String strVal = (String)obj;

在运行时将会出错,因为将Integer类型强制转换为String类型,无法通过。

但是, 如果obj为null,不会报错,因null值可以强制转换为任何java类类型,(String)null也是合法的。

2、toString()

在java中,从严格意义上任意的java对象都可以调用toString(),但是有一点要注意,这个值不能为null,否则会报空指针异常。采用这种方法时,通常派生类会覆盖Object里的toString()方法

3、String.valueOf()

toString()是String.valueOf()的基础,但不同的是String.valueOf()自带了判断为null的条件,当为null时,String.valueOf()返回的是“null”。

在看java jdk String.valueOf()的源码时是这样的:public static String valueOf(Object obj) { return (obj == null) ? "null" : obj.toString(); }

从这个可以看出它用了表达式来判断,如果为null的时候,则自动返回一个为“null”的字符串。这样就无须担心该obj是否为空而报异常了。

写这个也是让自己对string 类型转换 的印象更深刻一点。毕竟好记性不如烂笔头。

public static String valueOf(Object obj) { return (obj == null) ? "null" : obj.toString(); }

时间: 2024-12-08 00:53:19

浅谈(String),toString() ,String.ValueOf() 3种类型转换的相关文章

【转】浅谈 CSS 清除浮动的 6 种方法

转载:浅谈 CSS 清除浮动的 6 种方法 在开发网页的时候经常需要用到各种浮动,此时便需要及时的清除浮动,否则将会导致布局出现问题 引出问题: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <style> .outer{ border: 1px solid black;

浅谈Linux系统中的7种运行级别及其原理

浅谈Linux系统中的7种运行级别 Linux系统7个运行级别(runlevel): 运行级别0: 系统停机状态,系统默认运行级别不能设为0,否则不能正常启动. 运行级别1: 单用户工作状态,root权限,用于系统维护,禁止远程登陆. 运行级别2: 多用户状态(没有NFS). 运行级别3: 完全的多用户状态(有NFS),登陆后进入控制台命令行模式. 运行级别4: 系统未使用,保留. 运行级别5: X11控制台,登陆后进入图形GUI模式. 运行级别6: 系统正常关闭并重启,默认运行级别不能设为6,

[nRF51822] 14、浅谈蓝牙低功耗(BLE)的几种常见的应用场景及架构(科普类干货)

蓝牙在短距离无线通信领域占据举足轻重的地位—— 从手机.平板.PC到车载设备, 到耳机.游戏手柄.音响.电视, 再到手环.电子秤.智能医疗器械(血糖仪.数字血压计.血气计.数字脉搏/心率监视器.数字体温计.耳温枪.皮肤水分计等), 再到智能家居等领域均占有一席之地. 而蓝牙低功耗(BLE)是在蓝牙4.0协议上修改以适用低功耗应用场景的一种蓝牙协议. 随着上一股智能消费类电子大潮的到来,BLE的各种应用也像雨后春笋般在市场上铺开. 如果想 紧跟蓝牙协议的最新动态 ,可以在https://www.b

浅谈数据抓取的几种方法

在下抓数据也小有研究,现分享几个自己研究出来的抓数据的技术,可能会有很多不足的地方,欢迎大家指正补充哈哈! 方法一:直接抓取网页源码优点:速度快.缺点:1,正由于速度快,易被服务器端检测,可能会限制当前ip的抓取.对于这点,可以尝试使用ip代码解决.   2,如果你要抓取的数据,是在网页加载完后,js修改了网页元素,无法抓取.   3,遇到抓取一些大型网站,如果需要抓取如登录后的页面,可能需要破解服务器端帐号加密算法以及各种加密算法,及其考验技术性.适用场景:网页完全静态化,并且你要抓取的数据在

浅谈蓝牙低功耗(BLE)的几种常见的应用场景及架构(转载)

转载来至beautifulzzzz,网址http://www.cnblogs.com/zjutlitao/,推荐学习 蓝牙在短距离无线通信领域占据举足轻重的地位—— 从手机.平板.PC到车载设备, 到耳机.游戏手柄.音响.电视, 再到手环.电子秤.智能医疗器械(血糖仪.数字血压计.血气计.数字脉搏/心率监视器.数字体温计.耳温枪.皮肤水分计等), 再到智能家居等领域均占有一席之地. 而蓝牙低功耗(BLE)是在蓝牙4.0协议上修改以适用低功耗应用场景的一种蓝牙协议. 随着上一股智能消费类电子大潮的

浅谈Asp.Net中的几种传值方式

一.使用Querystring Querystring是一种非常简单的传值方式,其缺点就是会把要传送的值显示在浏览器的地址栏中,并且在此方法中不能够传递对象.如果你想传递一个安全性不是那么太重要或者是一个简单的数值时,用此方法最好不过了.下面通过一个小例子来完成传值工作,步骤如下: 1.创建一个web form 2.在新建的web form中放置一个button1,在放置两个TextBox1,TextBox2 3.为button按钮创建click事件 代码如下: private void But

浅谈SQL Server中的三种物理连接操作

简介 在SQL Server中,我们所常见的表与表之间的Inner Join,Outer Join都会被执行引擎根据所选的列,数据上是否有索引,所选数据的选择性转化为Loop Join,Merge Join,Hash Join这三种物理连接中的一种.理解这三种物理连接是理解在表连接时解决性能问题的基础,下面我来对这三种连接的原理,适用场景进行描述. 嵌套循环连接(Nested Loop Join) 循环嵌套连接是最基本的连接,正如其名所示那样,需要进行循环嵌套,这种连接方式的过程可以简单的用下图

170221、浅谈mysql的SQL的四种连接

例子:   -------------------------------------------------  a表     id   name     b表     id   job   parent_id                 1   张3                   1     23     1                 2   李四                 2     34     2                 3   王武            

浅谈MySQL数据库备份的几种方法

mysql常见的备份方式有:mysqldump.mysqlhotcopy.BACKUP TABLE .SELECT INTO OUTFILE,又或者备份二进制日志(binlog),还可以是直接拷贝数据文件和相关的配置文件.MyISAM 表是保存成文件的形式,因此相对比较容易备份,上面提到的几种方法都可以使用.Innodb 所有的表都保存在同一个数据文件 ibdata1 中(也可能是多个文件,或者是独立的表空间文件),相对来说比较不好备份,免费的方案可以是拷贝数据文件.备份 binlog,或者用