如果有一个TCP/UDP通信工厂这样通用工厂类实例化
public enum IoFactory {
// Singleton
INSTANCE;
public <T> Io<T> create(T type, TransportProtocol protocol) {
...
return ...;
}
}
它创建Io
接口:
public interface Io<T> {
public void send(T msg);
public T receive();
}
然而
,当我创建的Io
一个实例与
IoFactory factory = IoFactory.INSTANCE;
Io<TestMessage> u = factory.create(TestMessage.class, TransportProtocol.UDP);
我收到一个汇编错误,说正确instantia应该是
Io<Class<TestMessage>> u = factory.create(TestMessage.class, TransportProtocol.UDP);
这是怎么回事?
'TestMessage.class'的类型是'类',而不是类型的'TestMessage'(它是类对象,而不是一个“TestMessage”类型的对象)。 –
amit