Dre*_*kes 0 java generics generic-method
我不知道如何给这个更好的标题,因为我不知道这个模式在Java中被称为什么.
现在我有一个带有此签名的方法:
public Directory getDirectory(Class<? extends Directory> type) { ... }
Run Code Online (Sandbox Code Playgroud)
你这样称呼它:
MyDirectory directory = (MyDirectory)getDirectory(MyDirectory.class);
Run Code Online (Sandbox Code Playgroud)
对类型的约束确保MyDirectory必须从中派生Directory.
我真正想要做的是避免强制转换并减少所需的代码量.在C#中你可以说:
MyDirectory directory = getDirectory<MyDirectory>();
Run Code Online (Sandbox Code Playgroud)
有没有办法在Java中做到这一点或类似的东西?我从1.4版开始就没有编写任何Java代码!
Col*_*inD 11
public <T extends Directory> T getDirectory(Class<T> type) { ... }
MyDirectory directory = getDirectory(MyDirectory.class);
Run Code Online (Sandbox Code Playgroud)