我有一个Args
类,这个类扩展HashMap
并且有一些方法:
public class Args extends HashMap{
public myMethod_1(){
//...
}
public myMethod_2(){
//...
}
public myMethod_3(){
//...
}
}
现在,我希望获得一个已关联的Args
实例,但是已经过了LinkedHashMap
,
我无法将Args格式更改为LinkedHashMap
,也无法将Args
更改为接口
我可以获得链接的Args
实例吗?
如果没有,获得LinkedArgs
的最佳方法是什么? (不要重复myMethod_1-3
)
答案 0 :(得分:2)
简单的解决方案是更改Args
以扩展LinkedHashMap
。 (我知道你说你不能......)
如果这不是一个选项,那么下一个最佳解决方案是更改Args
以实施Map
并委托Map
API中的所有方法(以及其他所需方法)到私人LinkedHashMap
实例。
如果这不是一个选项,您可以使用扩展HashMap
执行相同的操作。基本上,您覆盖父HashMap
中的所有方法,并将操作委托给私有LinkedHashMap
实例。 (它是UGLY但它有效...模数每个Args
对象都有一堆初始化且从未使用过的属性。)