Почему indexOf возвращает -1, хотя объекты одинаковы в java - PullRequest
0 голосов
/ 04 февраля 2020

У меня есть список.

List<Object> list = new ArrayList<Object>();
HashMap<String, Object> map = new HashMap<>();
list = new ArrayList<Object>(map.values());

for(Object o : list){            
   if (o.toString().contains(textClob)){
       int objectIndex = list.indexOf(o);
}

enter image description here

Почему indexOf возвращает -1, хотя объекты совпадают?

enter image description here

1 Ответ

0 голосов
/ 04 февраля 2020

Я думаю, это потому, что вы инициализируете список дважды. Попробуйте вместо этого:

HashMap<String, Object> map = new HashMap<>();
List<Object> list = new ArrayList<Object>(map.values());

for(Object o : list){

               if (o.toString().contains(textClob)){
                   int objectIndex = list.indexOf(o);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...