Mik*_*aev 2 java dynamic-typing
在我的Java应用程序中,我有方法
public <T extends Transaction> boolean appendTransaction(T transaction) {
...
}
Run Code Online (Sandbox Code Playgroud)
在这个方法里面我需要创建一个扩展Transaction的对象T的实例
这样做是否正确
T newTransaction = (T) transaction.getClass().newInstance();
Run Code Online (Sandbox Code Playgroud)
我认为你应该使用类型为T的工厂接口,这样你就可以在方法用户上强制创建一个实例接口.
public <T extends Transaction> boolean appendTransaction(
T transaction,
Factory<T> factory) {
...
T newTransaction = factory.createTransaction();
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2255 次 |
| 最近记录: |