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”参数以指定所需的类型,而不是依赖于格式错误的运行时检查。这里没有太多泛型内容。