Java 8 : 매핑 할 POJO 목록 캐스트-ID-POJO = Stream의 맵 (Function <? super C,?>)을 (<lambda expression>, <lambda expression>)에 적용 할 수 없습니다.

ArthurDn

이 문제를 어떻게 해결합니까?

오류

Stream의 map (Function)은 (lambda expression>, lambda expression>)에 적용 할 수 없습니다.

static class C {
    int id;

    public int getId() {
        return id;
    }
}

    Map<Integer, C> c = Arrays.asList(new C()).stream().collect(Collectors.toMap(c -> c.getId(), c -> c));
금연 건강 증진 협회

이 시도

 Map<Integer, C> map = Arrays.asList(new C())
                          .stream()
                          .collect(Collectors.toMap(C::getId, c -> c));

귀하의 예제에서 맵이하는 일은 스트림의 객체를 한 가지에서 다른 것으로 변경하는 것입니다. 예를 들어 C객체 map(c -> c.getId())스트림이 있고이를 Integers. 당신이 찾고 collect있던 것은 스트림을 종료하고 당신이 얻고 자하는 어떤 객체로든 그것을 "수집"할 수 있도록하는 기능입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관