String.valueOf(a)和(String)a有什么区别?

来源:百度知道 编辑:UC知道 时间:2024/06/15 14:15:29
String.valueOf(a)和(String)a有什么区别?
a为一个变量(不限类型)

哪个说的没有(String)a这种语法

在Object类里 就定义了一个toString()方法

每个类都有其字符串表示形式
第一种,它是将当前的a类转化成字符串,无论你是什么,有可能转化成的结果不是一个正常的字符串,是本质上的转换
第二种,是引用类型的转换,就是说如果转换的结果a的本质没变,只是我引用你的方式变了,,

举个例子吧 那里有一只猴子 现在我要把他变成人
第一种是我给它动手术,本质是变 有可能手术不成功最后啥子也不是
第二种就是我根本不对它做任何改边,只是在我心里把它当成猴子就行了...

a本来就是String类型 那么(String)a成立,不过有意义么?
String.valueOf(a)是由a生成一个字符值和a相同的String对象

区别还是很多的:强制转换的效率比valueOf高,但如果a本质上不是字符串,强制转换将失败,而valueOf有多个重载版本,因此对每种类型的a,都能保证成功

(String)a有这种方法
表示将a强制转换成String型
String.valueOf(a)也是一样
感觉作用差不多

看看这个