Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java泛型中的难点_Java_Generics - Fatal编程技术网

java泛型中的难点

java泛型中的难点,java,generics,Java,Generics,你能帮我弄些仿制药吗 现在我有 public abstract class TestWsClient extends WsRpcClient { public abstract void clientMethod(TestObject testObject); } public interface TestWsServer extends WsRpcServer<TestWsClient> { public abstract void serverMethod(Str

你能帮我弄些仿制药吗

现在我有

public abstract class TestWsClient extends WsRpcClient {
    public abstract void clientMethod(TestObject testObject);
}
public interface TestWsServer extends WsRpcServer<TestWsClient> {
    public abstract void serverMethod(String message, TestWsClient client, String arg1, int arg2, TestObject objTest);
}
public interface TestWsServerAsync{
  public abstract void serverMethod(String arg1, int arg2, TestObject objTest);
}
class SomeClass{
   public <T extends WsRpcClient> void join(Object server, T client, WsRpcOnStateHandler stateHandler){
   }
}
SomeClass.join(new TestWsServerAsync(){...}, [instaneof TestWsClient])
我需要签入方法SomeClass.join。如果TestWsServer由WsRpcServer扩展

谢谢你的想法

我需要签入方法SomeClass.join。如果TestWsServer由WsRpcServer扩展


因为您需要根据参数化类型WsRpcServer检查继承,所以您需要T的runtime对象来进行检查。

这个问题没有意义。TestWsServer静态地扩展了WsRpcServer。任何东西都不可能通过你的检查,但如果颠倒过来是正确的,任何东西都不可能不通过。可能您真正应该做的是更改“Object server”参数以指定所需的类型,而不是依赖于格式错误的运行时检查。这里没有太多泛型内容。