getAbstractTransactionCriteria()
我正在将我的 Java 应用程序从 1.6 移植到 1.8,编译器对以下代码中的方法不满意:
public abstract class AbstractTransaction ...
public class TemplateTransaction extends AbstractTransaction ...
public class Transaction extends AbstractTransaction ...
abstract class AbstractTransactionCriteria {...}
class TransactionCriteria extends AbstractTransactionCriteria {...}
class TemplateCriteria extends AbstractTransactionCriteria {...}
TransactionCriteria getAbstractTransactionCriteria(Class<Transaction> c) {...}
TemplateCriteria getAbstractTransactionCriteria(Class<TemplateTransaction> c) {...}
编译器告诉我这两种方法具有相同的擦除,我可以接受,因为我在其他地方看到尖括号内的东西被Object
编译器替换。
这些参数c
只是为了实现多态性(它们没有在方法体中使用),这在 Java 1.6 中曾经完美地工作过。
我应该怎么做才能在 1.8 中获得相同的结果?