«Непроверенное приведение» здесь означает, что Java не может проверить, действительно ли объект, подлежащий приведению, имеет тип T
во время выполнения, поскольку тип T
не известен во время выполнения. Самое большее, это может проверить, что это на самом деле типа Remote
.
Обойти эту проблему можно, предоставив объект Class<T>
для определения типа:
public class ClientLookup<T extends Remote> {
private T sharedObject;
private Class<T> clazz;
public ClientLookup(Class<T> clazz) {
this.clazz = clazz;
}
public void lookup(String adress) throws MalformedURLException, RemoteException, NotBoundException {
sharedObject = clazz.cast(Naming.lookup(adress));
}
public T getSharedObject() {
return sharedObject;
}
}
Таким образом, вы делаете тип T
явным и известным во время выполнения.