5
有没有什么办法可以使用您所在的类的类型作为泛型参数?比如我有这个类ServiceNode
Java泛型<this??>
public final class ServiceNode<S extends NetworkService> {
private final S service;
private final Client client;
private Object attachment;
public ServiceNode(S service, Client client) {
this (service, client, null);
}
public ServiceNode(S service, Client client, Object attachment) {
this.service = service;
this.client = client;
this.attachment = attachment;
}
public S service() {
return service;
}
....
}
这就是抽象类的部分NetworkService
public abstract class NetworkService {
private final Set<ServiceNode<?>> registeredNodes = new HashSet<>();
public final void register(ServiceNode<?> node) {
registeredNodes.add(node);
}
...
}
所以基本上是有反正从ServiceNode
在NetworkService
类中删除通配符参数,将其替换为无论类别正在扩展NetworkService
不,没有。 –
如果我可能会问 - 为什么要让一个具体的类在外部类中依赖“类型明智的”? – fge