大家好,又见面了,我是你们的朋友全栈君。
1. String.valueOf(Object)
从下图(a图)的String类的valueOf(Object)的源码可以看到,当传入的值为null的时候返回的是“null”字符串,而不是null,所以在这里如果想判断这个string的值不为空的时候,应该用字段串相关判断不为空的方法例如用equals方法。示例如下(b图)
a图:string类valueOf(Object)的源码
b图:示例
public void testObject(){ Object o = null ; String s = String.valueOf(o); if ("null".equals(s)){ System.out.println("返回的结果是null字符串"); } if (s==null){//可以使用s=="null" System.out.println("返回的结果是null"); } } 结果:返回的结果是null字符串
2. Object.toString()
上a图string类valueOf(Object)的源码中,可以看到这里最终还是调用Object.toString()这个方法,所以可以直接用此方法转换成字符串。注意:必须保证Object不是null值,否则将抛出NullPointerException异常。
可以先判断Object对象不为null的时候,再转换成字符串 。
3. (String)Object
需要转换的类型必须是能够转换为String类型的,否则会出现CalssCastException异常错误。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/145135.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...