Когда я использую сравнение строк JLabel с ==
, работает нормально
private JLabel someJLabel = new JLabel("some text");
...
System.out.println (someJLabel.getText() == "some text"); // returns true
но когда я использую JTextField
private JTextField someJTextField = new JTextField("some text");
...
System.out.println (someJTextField.getText() == "some text"); // returns false
Я знаю, что если бы я использовал someJTextField.getText().equals("some text");
, все бы работало нормально.
Так почему же это работает с JLabel, но не с JTextField?
РЕДАКТИРОВАТЬ: да, я знаю, что должен использовать .equals
со строкой, я прочитал эту статью http://javatechniques.com/blog/string-equality-and-interning/, но уже известно, что я буду использовать «какой-то текст», чтобы он мог ссылаться на тот же строковый объект