В чем разница между
Object foo = "something";
String bar = String.valueOf(foo);
и
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()
, однако, попытается преобразовать в String
все, что вы в него передадите. Он работает как с примитивами (42
), так и с объектами (new Integer(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"
.
Строку.метод valueOf(ФОО)вызывает **фу**'ы
.метод toString () и присваивает результат на бар. Это null и тип безопасной эксплуатации.
Кастинг будет просто назначить фу в бар, если эти типы совпадают. В противном случае выражение будет бросать исключение ClassCastException
.
Оба генерируют одинаковый вывод в случае String
.
В случае, если предоставленный объект не является строкой
, приведение
не работает.
Строку.метод valueOf используется для получения строкового представления он's объекта параметр.
(Строка) значение забросы значение объекта в строку.
Вы можете использовать строку.метод valueOf метод для получения строкового представления объекта, не беспокоясь о null ссылки. Если вы пытаетесь бросить строку на нулевую ссылку вы получите исключение NullPointerException.
окончательный объект obj = null;в В последней строке strValOfObj = строка.метод valueOf(объект); параметр obj > заключительные строки strCastOfObj = (строка); если система (strValOfObj == нуль).из.код println("и strValOfObj имеет значение null тогда"); если система (strCastOfObj == нуль).из.код println("и strCastOfObj имеет значение null тогда");
Вывод: strCastOfObj нуль
в строку.метод valueOf(); строку как работать типажей всех аргумент, передаваемый в метод valueOf (), преобразовать в строку, а как число.строка() преобразует целое число в строку только
Первый один я.е строку.метод valueOf
возвращает строку, только если объект является представимым тип, который является типом значения или строки.. иначе это бросает исключение.
В последние годы, вы непосредственно литья, которые могут быть выполнены, если объект не'т строку.
Онлайн пример.