Я немного запутался в литье по типу в целом.Тип Casting vs. Другие методы
Как я понимаю на данный момент (или, возможно, неправильно понял его), тип casting - это просто способ изменить тип данных переменной. Например, когда у меня есть:
String stringVar = "1";
Я мог бы изменить тип данных STRINGVAR в целое с:
int intVar = (int)stringVar;
Правильно?
Но я мог бы так же хорошо использовать для достижения тех же целей:
int intVar = Integer.parseInt(stringVar);
Я также видел другие методы преобразования типов данных. Так что я должен просто подумать о типе кастинга и о тех методах, как о нескольких способах достижения одного и того же, или все они как-то разные?
Кроме того, я тоже видел что-то подобное, это хорошая практика или просто избыточно?
String stringVar = (String)intVar.toString();
Спасибо за освобождение. Поэтому на практике, когда я должен использовать кастинг типов и когда следует использовать другие методы, при условии, что оба параметра работают? – Nyecodem
@Nyecodem Вы должны прочитать раздел JLS, к которому я привязан. В общем случае вы используете кастинг для ссылочных типов, когда целевой класс является подклассом исходного класса (или реализует интерфейс источника) после проверки того, что кастинг действителен (с использованием instanceof).Для примитивов вам необходимо выполнить явное преобразование при суживании конверсий (например, long-int), поскольку такие преобразования могут потерять данные. Если кастинг работает, я не могу придумать никаких причин для вызова метода для того же преобразования. – Eran