요즘 Ver.x 선물에 이상한 문제가있어서 코드를 깨뜨리지는 않지만 여전히 괴롭 힙니다. 다음과 같은 경고의 매개 변수 결과없이Vert.x java List <Futures> 매개 변수화
미래 :
을 매개 변수화해야 문제가 해결 :미래 원시 유형입니다. 제네릭 형식 미래에 대한 언급이 매개 변수를 추가
Future<YourClassName> future = ...
선물의 목록을 다루는, 당신은 또한 잘 그것을 매개 변수화 할 수 있습니다
List<Future<YourClassName>> future = ...
그러나 CompositeFuture.all()
은 매개 변수화 된 목록을 처리 할 수 없으므로 매개 변수를 제거해야합니다.
선물의 매개 변수화 된 목록을 CompositeFuture
으로 작동시키는 방법이 있습니까? 아니면 해당 경고를 무시하면됩니까? 그것은 아무 것도 깨지 않지만 그 경고를 없애기위한 해결책을 찾는 것이 여전히 좋을 것입니다.
당신은 단지 unparameterized 하나에 목록을 시전 할 수 :'CompositeFuture.all ((List) future)'? 캐스팅 중에도 경고 메시지가 표시되지만, 적어도 메서드 호출 외부에는 List에 매개 변수가있는 Futures가 포함됩니다. 그 외에는 vert.x 개발자와 접촉하여 모든 메서드의 메서드 시그니처를 변경하여 List > –
@ 911DidBush를 허용 할 것인지를 묻는 질문 만하면됩니다 (결과 in List>에서 List 로 캐스팅 할 수 없음) 오류가 발생하고 문제가 해결 되더라도 문제를 한 곳에서 다른 곳으로 옮길 수 있습니다. –
Rauno
네 말이 맞아. 그게 효과가 있었는지 전에 확인 했어야했다. 그러나 당신은 캐스팅 대신에 복사 생성자를 사용하여'CompositeFuture.all (new ArrayList (future))'로 변환 할 수 있습니다. 당신은 물론 당신에게 많은 것을주지는 않지만 적어도 .all 호출 밖에서리스트를 완전히 매개 변수화하고 몇 가지 유형 안전성을 유지할 수는 있습니다. 어쩌면 다른 사람이 다른 생각을 가지고있을 수도 있지만 vert.x가 해당 메서드의 서명을 변경하지 않으면 코드의 일부 지점에서 원시 유형 + 경고를 가지고 살아야 할 수도 있습니다. –