有什么区别
Object foo = "something";
String bar = String.valueOf(foo);
and
Object foo = "something";
String bar = (String) foo;
仅当对象实际上是一个字符串:
Object reallyAString = "foo";
String str = (String) reallyAString; // works.
当对象是其他东西时,它将不起作用:
Object notAString = new Integer(42);
String str = (String) notAString; // will throw a ClassCastException
String.valueOf() http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#valueOf%28java.lang.Object%29但是会尝试将您传递给它的任何内容转换为String
。它处理两个原语(42
) 和对象 (new Integer(42)
,使用该对象的toString() http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html#toString%28%29):
String str;
str = String.valueOf(new Integer(42)); // str will hold "42"
str = String.valueOf("foo"); // str will hold "foo"
Object nullValue = null;
str = String.valueOf(nullValue); // str will hold "null"
特别注意最后一个例子:passingnull
to String.valueOf()
将返回字符串"null"
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)