仅当对象 实际上是 字符串时,才强制转换为字符串:
Object reallyAString = "foo";String str = (String) reallyAString; // works.
当对象是其他对象时,它将不起作用:
Object notAString = new Integer(42);String str = (String) notAString; // will throw a ClassCastException
String.valueOf()但是,您将尝试将传递给它的任何内容转换为
String。它使用该对象的来处理原语(
42)和对象():
newInteger(42)
toString()
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"请特别注意最后一个示例:传递
null给
String.valueOf()将返回字符串
"null"。



