case1:object 对象转string
需要强调的是string.valueof()方法,当参数为类型是object,且值时null的时候他的处理方式
public
static
string valueof(object obj) {
return
(obj == null) ? "null" : obj.tostring();
}
这样在后面的成都不会报错但是在逻辑上可能出错,一般习惯写的是str!=null && str.length()>0,当是由 str = string.valueof(obj)得到时上面的额判断条件就有问题了
所以遇到 object 对象转string 最好强转 str= (string) obj此时,当obj为null时,str依然为null,case2:object 装基本类型的包装类型,(关注integer和long,double)
首先 obj被赋值之后 obj还是属于数据所属基本类型的包装类型可以通过instanceof 判断知道.
所以直接用强转就可以,没有必要用类似long.parselong(string.valueof(obj))这类方法,用这中复杂的问题会有一个问题就是不能返回值不能包含null
如果是null就直接抛出异常了,因为在string.valueof()方法时已经把null转为字符串了,而long.parselong()方法如果传入了null字符串就会报异常,
long.parselong(string.valueof(obj)) 方法就等价与 (long)obj,用基本类型去强转
更好的做法是用(long)obj去强转,在后面的程序中做null情况的判断和处理
case3: 基本类型的包装类型和string的vlaueof方法对与obj=null的处理是不一样的,string.valueof(obj)的处理返回的null字符串,而基本类型的包装类型返回的null
强调一下,string不是基本类型,更不是基本包装类型
总结:
1遇到obj类型转string时最好强转
2遇到obj类型转几倍类型的包装类型时最好强转,如果需要可以先用instanceof判断其类型时再强转
相关推荐】
1. java中valueof,parseint,tostring三者的区别
2. java中valueof和tostring,(string)之间的区别
3. tostring()和valueof()的用法及两者的区别
4. valueof函数与tostring方法深入理解
5. object转换函数tostring()与valueof()介绍
6. javascript中用tostring()方法返回时间为字符串
以上就是详解java 中valueof方法实例的详细内容。