Доброго Вам!
Имеется код:
public class TestConsole
{
public static void main(String[] args)
{
Foo ob = new Foo();
String str = ob.getString();
System.out.println(ob.getString());
str = "321";
System.out.println(ob.getString());
}
}
class Foo
{
public String getString()
{
return m_Str;
}
private String m_Str = "123";
}
И соответственно вывод:
123
123
Непонятно, почему не изменился объект Foo::m_Str? Ведь метод Foo::getString() возвращает ссылку, которой я присваиваю новую строку.
P.S.
А есть разница?
private String m_Str = "123"; //Так
private String m_Str = new String("123"); //И так
Спасибо!