为什么indexOf返回-1尽管Java中的对象相同

时间:2020-02-04 09:29:10

标签: java arrays object

我有一个清单。

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 :(得分:0)

我认为这是因为您两次初始化了列表。尝试以下方法:

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);
}