2014-03-31 40 views
0

定义通用工厂的经验法则是什么?实施和使用有什么不同?通用工厂定义选项

选项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); 
} 

回答

1

在第一种方式,为您打造一个ScheduleFactory与特定VT,此后该工厂对象只能返回Schedule<V, T>

在第二种方式中,你创建一个ScheduleFactory对象,然后是一个工厂对象可以创建Schedule<V, T>针对不同V S和T s各自通话。

0

的主要区别是类型推断

泛型方法:它可以帮助Java编译器来看看泛型方法调用来确定哪个类型的参数使得调用适用。

泛型类:类型的约束影响到整个类/接口以及您声明的每种方法。