我不知道如何给它起一个更好的标题,因为我真的不知道这种模式在 Java 中叫什么。
现在我有一个带有这个签名的方法:
public Directory getDirectory(Class<? extends Directory> type) { ... }
你这样称呼它:
MyDirectory directory = (MyDirectory)getDirectory(MyDirectory.class);
对类型的约束确保MyDirectory
必须从Directory
.
我真正想做的是避免强制转换并减少所需的代码量。在 C# 中,你可以说:
MyDirectory directory = getDirectory<MyDirectory>();
有没有办法在Java中做到这一点或类似的东西?自 1.4 版以来,我没有编写任何 Java 代码!