-3

你能帮我处理泛型吗?

我现在有

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<T>

谢谢你的想法。

4

1 回答 1

1

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

因为您需要针对参数化类型 ( ) 检查继承,所以由于类型擦除WsRpcServer<T>,您需要运行时Class对象 forT来进行检查。

于 2013-07-13T00:00:39.793 回答