2014-09-19 3 views
0

콜렉션 오브 하우스 오브젝트가 있고 각 HO 오브젝트에는 ID, NAME 요소가 있습니다. 다른 출처의 다른 ID 컬렉션을 얻습니다. HOUSE 개체의 Original Collection에서이 ID를 가진 HOUSE 개체를 제거하고 싶습니다. 이런 식으로 노력하고 있습니다.하지만 exclusionIDsList를 내부 클래스 술어에 전달할 수 없습니다. 다른 아이디어?CollectionsUtils 오브젝트 요소 콜렉션을 사용하는 오브젝트 콜렉션

List<HOUSE> originalHouses = ...//List of houses 
List<ID> exclusionIDsList = ...//List of IDs to exclude 

CollectionUtils.filter(originalHouses, new Predicate() { 
    @Override 
    public boolean evaluate(Object arg0) { 
     if(exclusionIDsList.contains(((HOUSE)arg0).getID()) 
      return false; 
     else return true; 
    } 
}); 
+2

그리고 단지'') exclusionIDsList.contains (((HOUSE) 시간 .getID()를 호출,'' –

답변

1

선언 exclusionIDsListfinal :

final List<ID> exclusionIDsList = ... 
+1

을 그리고 그 목적,''Set'을 위해! '는''hascode'' /''equals''를 구현할 때 더 좋은 옵션입니다 :''Final Set ids = new HashSet <> (exclusionIDsList);'' –

관련 문제