-1
public class ListHelper<E> {
public List<E> list =
Collections.synchronizedList(new ArrayList<E>());
...
public synchronized boolean putIfAbsent(E x) {
boolean absent = !list.contains(x);
if (absent)
list.add(x);
return absent;
}
}
이것이 작동하지 않는 이유를 이해할 수 없습니다.왜 잠금이 잘못 되었습니까?
목록을 비공개 필드로 변경하면이 코드가 올바르지 않습니까?
나는 당신이 거기에서 무엇을 얻고 싶은지 전혀 알지 못한다. 왜 그런지는 모르겠지만, 당신은'Set'을 무시하고'List'를 통해 그것을 사용하고 싶어 할 것 같다. – SomeJavaGuy