public class GetSpecifiedElementFromAList {
public static void main(String[] args) {
List<POJO> list = new ArrayList<POJO>();
POJO a = new POJO();
a.setKey("aaa");
a.setContent("aaa111111");
POJO b = new POJO();
b.setKey("bbb");
b.setContent("bbb222222");
list.add(a);
list.add(b);
// So, we're going to find out where it is. I mean the element which key is 'bbb'.
// If you do it with the original object, everything seems OK.
int idx = list.indexOf(b);
System.out.println(idx); // You can get a '1' here.
// But if you do it with a brand new object
// containing the same value with the original one...
POJO c = new POJO();
// like this...
c.setKey("bbb");
c.setContent("bbb222222");
idx = list.indexOf(c);
System.out.println(idx); // you'll get nothing but '-1'.
// which means it is not supposed to be used like this at all.
}
public static void main(String[] args) {
List<POJO> list = new ArrayList<POJO>();
POJO a = new POJO();
a.setKey("aaa");
a.setContent("aaa111111");
POJO b = new POJO();
b.setKey("bbb");
b.setContent("bbb222222");
list.add(a);
list.add(b);
// So, we're going to find out where it is. I mean the element which key is 'bbb'.
// If you do it with the original object, everything seems OK.
int idx = list.indexOf(b);
System.out.println(idx); // You can get a '1' here.
// But if you do it with a brand new object
// containing the same value with the original one...
POJO c = new POJO();
// like this...
c.setKey("bbb");
c.setContent("bbb222222");
idx = list.indexOf(c);
System.out.println(idx); // you'll get nothing but '-1'.
// which means it is not supposed to be used like this at all.
}
}