JAVA
stream LinkedList filter cannot be cast
질주하는구
2021. 11. 4. 11:02
LinkedList 데이터를 stream filter 를 이용해서 원하는 데이터만 가지고 오는 경우 아래와 같이 형변환을 해줘야 합니다.
LinkedList<TelMessVO> clone2 = clone.stream().filter(telMessVO -> telMessVO.getMessText().indexOf("test")!=-1).collect(Collectors.toCollection(LinkedList::new));
혹은
LinkedList<TelMessVO> clone2 = new LinkedList<TelMessVO>(clone.stream().filter(telMessVO -> telMessVO.getMessText().indexOf("test")!=-1).collect(Collectors.toList()));
Collectors.toList() 를 호출하는 경우 결과가 ArrayList로 넘어오기 때문에 해당 데이터를 LinkedList로
변경 하는 작업이 필요 합니다.
for(TelMessVO tempData : clone2) {
System.out.println(tempData);
}
반응형