Может ли кто-нибудь сказать мне, когда использовать equals() и оператор «==»? Я знаю, что метод equals() используется для сравнения значений строк. Также я знаю, что «==» используется для проверки ссылок. Что это значит?Что означает сравнение ссылок и сравнение значений?
ответ
Представьте себе две машины, на мгновение. Скажем, это зеленый Toyota Corolla и оранжевый Ferrari. Вы хотите сравнить их - они похожи? Да; они оба машины. Но у них разные свойства. Их ценности (буквально и образно) не равны, и когда я говорю о Венчике, я определенно не говорю о Ferrari. Когда я говорю об одном, я не имею в виду другого.
Теперь представьте, что я говорю с вами о красном венчике. У вас также есть красный венчик. Ухоженная! У нас такой же автомобиль! Кроме того, они не точно тот же автомобиль, потому что это две разные машины. Они просто имеют такую же ценность. Я могу разрисовать его, и он не изменит вашу, или я не смогу разрушить мою, и они не будут иметь такую же ценность. Сравнение наших двух автомобилей будет похоже на использование метода equals()
. Мы могли бы сказать, что они имеют одинаковую ценность (до тех пор, пока я не рушится или не изменю ее каким-либо другим способом).
Но, если мы говорим о красном венчике, и, оказывается, я купил Венчик у кого-то, кого вы продали, - эй, мы говорим об одном и том же Corolla! Мы на самом деле имеем в виду то же самое. Если я разбиваю свой Венчик, я также разбил ваш (бывший) Венчик. Если я его рисую, это все тот же автомобиль. Проверка того, что мы говорим о , точно такая же вещь является ссылочным равенством.
- 1. Что означает это сравнение?
- 2. Сравнение ссылок в Java
- 3. Сравнение значений
- 4. Что означает предупреждение «Упорядоченное сравнение указателей функций»?
- 5. Сравнение двух значений массива
- 6. Сравнение значений двойного типа
- 7. LINQ- сравнение и обновление значений
- 8. Сравнение интегральных и плавающих значений
- 9. Анализ и сравнение валютных значений
- 10. Сравнение ключей и значений HashMap
- 11. Циклы и сравнение значений переменных
- 12. Сравнение и совпадение значений массива
- 13. Сравнение и отображение значений хэша
- 14. Сравнение шестнадцатеричных и десятичных значений
- 15. Сравнение и выделение значений времени
- 16. Сравнение и сравнение
- 17. Сравнение ссылок на ветви Git
- 18. Сравнение смежных значений, удаление пар и сравнение нового списка
- 19. R Сравнение и сравнение значений с разных векторов
- 20. Целочисленное сравнение значений
- 21. iOS Сравнение значений NSDictionary
- 22. Сравнение значений DataGridView
- 23. Сравнение значений NSArray
- 24. Сравнение общих значений
- 25. Сравнение значений словаря python
- 26. Сравнение значений двух JComboBoxes
- 27. сравнение значений при вставке
- 28. Сравнение значений из массива
- 29. Сравнение значений двух массивов
- 30. Тип Java, сравнение значений
Возможный дубликат [Как сравнить строки в Java?] (Http://stackoverflow.com/questions/513832/how-do-compare-strings-in-java) –