Рассмотрим
String foo = s.toString();
для экземпляра null
java.lang.String
java.lang.String
s
.
Является ли это определенным для возврата себя или это зависит от конкретной реализации Java? Из интереса взята "глубокая копия"?
Изучение моего исходного кода моего JDK подтверждает, что возвращается s
, но настаивает ли JLS на этом? Меня воспитывали, рассматривая toString()
как произвольную сериализацию, возможно, представителя объекта, но не обязательно так. Например, совершенно правдоподобно (по крайней мере, на мой взгляд), что реализация может окружать строку символами кавычек.