定义通用工厂的经验法则是什么?实施和使用有何不同?
选项1:
public interface ScheduleFactory<V, T extends Period<V>> {
Schedule<V,T> fromConfigurationString(String configurationString);
}
选项2:
public interface ScheduleFactory {
<V, T extends Period<V>> Schedule<V,T> fromConfigurationString(String configurationString);
}
答案 0 :(得分:1)
首先,您使用特定的ScheduleFactory
和V
创建T
,然后该工厂对象只能返回Schedule<V, T>
。
在第二种方式中,您创建一个ScheduleFactory
对象,然后该单个工厂对象可以为每个调用的不同Schedule<V, T>
和V
创建T
。 / p>
答案 1 :(得分:0)
主要区别在于类型推断
通用方法:它帮助java编译器查看泛型方法调用,以确定使调用适用的类型参数。
泛型类:类型的约束会影响整个类/接口以及您声明的每个方法。