我有对象的ArrayList
,我试图在arrayList
其.getName() == target
在对象的列表,你怎么能得到的对象时,你只能拥有对象的唯一名称
if(arrayList.contains(target)){
System.out.print(arrayList.get(target));
}
我有对象的ArrayList
,我试图在arrayList
其.getName() == target
在对象的列表,你怎么能得到的对象时,你只能拥有对象的唯一名称
if(arrayList.contains(target)){
System.out.print(arrayList.get(target));
}
假设你的对象是Foo
类型:
for (Foo item : arrayList) {
if (item.getName().equals(target)) return item;
}
for (int i = 0; i < arrayList.size(); ++i) {
if (arrayList.get(i).equals(target))
return i;
}
或更好:
arrayList.indexOf(target)
使用此
arrayList.get(arrayList.indexOf(target))
您需要检查-1条件。
if(arrayList.contains(target)){
System.out.print(arrayList.get(arrayList.indexOf(target)));
}
因此,如果'target'在这个列表中,为什么要使用'get()'和'indexOf()'?。其余的方法调用是不需要的。 – 2013-03-15 18:28:02
我只是想解决OP的代码:)你说得对,当涉及到实际行为时,方法调用是多余的,但希望它对于get和indexOf的工作方式有一定的学习价值。 – ghdalum 2013-03-15 18:37:30
你可以试试这个:
int index = list.indexOf(elementToBeMatched);
if (index != -1) {
// Match found. Use this index
} else {
// match not found
}
您比较的字符串,然后使用'String.equals()'方法.. – Smit 2013-03-15 18:22:44
那么,你的问题是什么? – imulsion 2013-03-15 18:22:47
你的代码与你的目标有什么关系? – antonijn 2013-03-15 18:22:56