Допустим, у меня есть этот код на Java:
HashSet<String> wordSet = new HashSet<String>();
String a = "hello";
String b = "hello";
wordSet.add(a);
Будет ли wordSet.contains (b);
return true
или false
]? Насколько я понимаю, a
и b
относятся к разным объектам, даже если их значения одинаковы. Итак, contains ()
должен вернуть false
. Однако когда я запускаю этот код, он возвращает true
. Будет ли он всегда возвращать true
независимо от того, откуда исходит объект String b
, если b
содержит значение "hello"
]? Всегда ли это гарантируется? Если нет, когда мне это не гарантируется? А что, если бы я хотел сделать что-то подобное с объектами, отличными от строк?