Отличия в модификации объекта
Мне просто интересно, может ли кто-нибудь помочь мне с этим:
StringBuilder s=new StringBuilder("0123456789");
s.substring(1, 2);
System.out.println(s);
s.delete(2, 8);
System.out.println(s);
первый Sysout дает 0123456789 (хотя я ожидал подстроку), но другой Sysout дает 0189. Я заметил, что также с некоторыми классами Time и Date. Как я могу выяснить, когда какая форма будет изменять исходный объект (в этом случае s ). Это связано с изменчивостью объектов? Есть ли какое-то общее правило? Заранее спасибо HK