Вызов равен на строковом литерале
Я просто немного прибирался в своем коде, и была эта часть:
String saving = getValue();
if(saving != null && saving.equals("true")){
// do something
}
Тогда я подумал сделать это наоборот, чтобы избавиться от проверки наnull
:
if("true".equals(saving)){
// do something
}
Это определенно работает, ноэто безопасно сделать это? Я имею в виду строковые литералы хранятся в общем пуле, в то время как строковый объект создаетсяnew
находятся в куче. Но строки в постоянном пуле также являются объектами, верно?
Но все же это не кажется правильным, хотя делает код короче.