확인되지 않은 경고 메시지가 나타나는 상황이 있습니다. 나는 억압 경고를 사용할 수 있다는 것을 알고 있지만, 본능은 내가이 스 니펫을 코딩 한 방법을 변경함으로써 피할 수있는 방법이 있다고 말해 준다. 그러나 나는 그 해결책을 표면에 드러내는 것처럼 보이지 않고 신선한 눈으로 할 수 없습니다.체크되지 않은 캐스트 :이 경우 피할 수있는 방법이 있습니까?
//function removes elements from input, orders them and re-adds them
private <E extends Bus> int orderBuses(ArrayList<E> busList) {
Bus busToAdd = null;
...
busList.add((E) busToAdd);
return 0;
}
이 함수는 여러 개의 목록과 함께 호출되며 각 목록에는 Bus를 확장하는 클래스가 들어 있습니다. 버스의 일부인 busToAdd에는 몇 가지 기능이 사용되므로 유형 E 작업을 사용하지 않아야합니다.
경고를 표시하지 않고도이를 재구성하는 방법에 대한 제안 사항이 있으십니까?
편집 : 찾았습니다. busList에 E를 사용할 수 있지만, 결국 동일한 경고로 이어지는 버스에 캐스트해야합니다. 버스 대신 모든 용도로 E를 사용해 볼 수 있습니다. 테스트 한 후에 업데이트하겠습니다.
'때문에, 그것은 당신이이'Bus' 요구하고 싶은 것을 지원해야한다. –