【发布时间】:2018-09-13 22:38:54
【问题描述】:
目前我正在尝试构建一个能够创建随机对象的 Java 类。 我用工厂模式尝试过,抽象的产品接口就像:
public interface ObjectFactory<T>
{
T createObject();
}
但是当我尝试实现一个具体的通用产品时它不起作用。 这是我的具体产品的代码:
public class GenericFactory implements ObjectFactory<T> {
@Override
public T createObject()
{
return new T();
}
}
IntelliJ 说:“无法解析符号 T”
【问题讨论】:
-
它应该如何知道要创建哪个“随机对象”?
-
使用
GenericFactory<T>和public <T> T -
为什么需要这个,而不是使用标准的
Supplier<T>class? -
"IntelliJ 说:"无法解析符号 T"" 因为
T需要是您导入的类名(或在同一个包中),或者是您指定的类型变量在GenericFactory上声明。