2017-01-08 5 views
0

:표현 목록에 맞도록 선택하지 않은 변환을 필요로 <CategoryTypes>이 코드가

DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(OpenBoard.class); 
DynamicQuery categoryQuery = DynamicQueryFactoryUtil.forClass(CategoryTypes.class); 
User user=UserLocalServiceUtil.getUser(PortalUtil.getUserId(request)); 
List<CategoryTypes> category_list= null; 
categoryQuery.add(RestrictionsFactoryUtil.eq("categoryTarget",String.valueOf("O"))); 
category_list=CategoryTypesLocalServiceUtil.dynamicQuery(categoryQuery);    
the last line generates the warning 

"유형 목록의 발현이 목록에 < CategoryTypes을 준수하도록 선택하지 않은 변환이 필요합니다>를"

경고를 제거하려면 어떻게해야합니까?

+0

에 오신 것을 환영합니다. 이 질문을 읽는 방법에 대한 자세한 내용은 여기를 참조하십시오. http://stackoverflow.com/help/how-to-ask –

+0

가능한 복제본 "목록 유형의 표현식에 선택되지 않은 변환이 필요합니다 ..."는 가능한 수정본은 무엇입니까? ] (http://stackoverflow.com/questions/367626/how-do-i-fix-the-expression-of-type-list-needs-unchecked-conversion) –

답변

0

먼저 클래스에이 방법을 추가 :이 시도

public static <T> List<T> castList(Class<? extends T> clazz, Collection<?> c) { 
    List<T> r = new ArrayList<T>(c.size()); 
    for(Object o: c) 
     r.add(clazz.cast(o)); 
    return r; 
} 

보다 :

DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(OpenBoard.class); 
DynamicQuery categoryQuery = DynamicQueryFactoryUtil.forClass(CategoryTypes.class); 
User user=UserLocalServiceUtil.getUser(PortalUtil.getUserId(request)); 
categoryQuery.add(RestrictionsFactoryUtil.eq("categoryTarget",String.valueOf("O"))); 
List<CategoryTypes> category_list = castList(CategoryTypes.class, CategoryTypesLocalServiceUtil.dynamicQuery(categoryQuery)); 

참고 문헌 : StackOverflow의에 https://stackoverflow.com/a/2848268/6676203