Главная » Java » Преобразование строк Java – неявные преобразования

0

 

Существует одна специальная разновидность неявных преобразований, затрагивающих значения простых и ссылочных типов, – преобразование строк. Если в Числе аргументов оператора + (плюс) присутствует хотя бы один операнд типа String, + трактуется как оператор сцепления (конкатенации) строк и другой Операнд, не Относящийся к String, подвергается неявному преобразованию в String. Возможность подобных преобразований предусмотрена для всех простых Типов. Преобразование объектов ссылочных типов осуществляется с помощью соответствующего метода toString, который наследуется от базового типа Object и допускает переопределение в производном классе; переопределенная версия toString должна обеспечить получение значимого Строкового представления состояния объектов класса.

В качестве примера рассмотрим код метода, который позволяет заключить строку, переданную в виде параметра, в угловые кавычки:

public static String guillemete(String quote) {

return ‘«’ + quote + ‘»';

}

Неявное преобразование значений простых типов и объектов классов в String выполняется только в контексте операторов + и +=, если по меньшей мере один из операндов выражения относится к типу String. Если, например, методу должен передаваться аргумент типа String, только такой аргумент и будет считаться допустимым. Мы не вправе передавать методу значение какоголибо произвольного типа и надеяться на его неявное преобразование.

Если к типу String преобразуется ссылка null, в результате будет получена строка “null”, так что ссылочные переменные, указывающие на null, могут свободно участвовать в операциях конкатенации строк.

Источник: Арнолд, Кен, Гослинг, Джеймс, Холмс, Дэвид. Язык программирования Java. 3-е изд .. : Пер. с англ. – М. : Издательский дом «Вильяме», 2001. – 624 с. : ил. – Парал. тит. англ.

По теме:

  • Комментарии