Как избежать предупреждения "непроверенные или небезопасные операции" в случае универсального метода
Я хотел бы избежать сообщения "непроверенные или небезопасные операции" от компилятора Java, но я понятия не имею, как это сделать, когда у меня есть универсальный метод, и я хотел бы вернуть значения из универсальной карты. Значения карты должны быть того же общего типа, что и общий метод, но я не мог понять, как этого добиться.
Я создал проект bitbucket, чтобы показать проблему: https://bitbucket.org/ren-hoek/avoidsuppresswarning/overview
Вы можете проверить следующий фрагмент как краткий обзор, но лучше всего клонировать проект и проверить его там.
public class VehicleServiceImplementation implements VehicleService {
private static Map<Long, VehicleResult> resultMap = new HashMap<Long, VehicleResult>();
static {
resultMap.put(5L, new VehicleResult<Car>(new Car(5L)));
}
public <CAR extends Car> VehicleResult<CAR> retrieve(final CarRequest request) {
return resultMap.get(request.getId());
}}
Обратите внимание, что у меня нет доступа к самому интерфейсу, поэтому я не могу изменить его подпись
Обратите внимание, что речь идет не о том, как обращаться с методами, возвращающими Object, а о том, как обращаться с общими методами.