Frame이 내 목록 항목 인 LinkedList를 선언했습니다.개체가 목록에 포함되어 있으면 LinkedList.indexOf()가 -1을 반환하는 이유는 무엇입니까?
private LinkedList<Frame> linkedList = new LinkedList<Frame>();
목록에 쿼리 된 항목이 포함되어 있어도 indexOf -1을 테스트하면 반환된다는 것을 알았습니다. 문서에는 "(...) 또는이 목록에 요소가 없으면 -1이 표시됩니다." 이러한 이상한 결과에서
https://docs.oracle.com/javase/7/docs/api/java/util/LinkedList.html#indexOf(java.lang.Object)
봐 :
linkedList.size() -> 1
linkedList.get(0) -> frame
linkedList.contains(linkedList.get(0)) -> false
linkedList.indexOf(linkedList.get(0)) -> -1
가 난 아무것도 바라나요? 무슨 일이야?
동기화없이 여러 스레드에서 목록에 액세스하고 있습니다. 이로 인해 문제가 발생했을 수 있습니까?
-
로그 (아래 참조) :
12-05 20:30:00.101 16446-16461/cc.closeup I/System.out﹕ **** TEST 0
12-05 20:30:00.301 16446-16476/cc.closeup I/System.out﹕ **** TEST -1
12-05 20:30:00.856 16446-16461/cc.closeup I/System.out﹕ **** TEST 0
12-05 20:30:01.051 16446-16476/cc.closeup I/System.out﹕ **** TEST -1
12-05 20:30:01.601 16446-16461/cc.closeup I/System.out﹕ **** TEST 0
12-05 20:30:01.801 16446-16476/cc.closeup I/System.out﹕ **** TEST -1
12-05 20:30:02.356 16446-16461/cc.closeup I/System.out﹕ **** TEST 0
12-05 20:30:02.551 16446-16476/cc.closeup I/System.out﹕ **** TEST -1
12-05 20:30:03.101 16446-16461/cc.closeup I/System.out﹕ **** TEST 0
12-05 20:30:03.301 16446-16476/cc.closeup I/System.out﹕ **** TEST -1
'프레임'유형이 'equals (Object)'를 어떻게 구현합니까? –
전혀 아닙니다. 구현해야합니까? –
@OliverHausler 예, 그러면 내부적으로 만 점검하여 원하는 결과를 얻을 수 있습니다. –