我目前正在尝试定义一种抽象方法,它允许任意类型的无限数量的参数。
什么吗
我想在抽象类custom.css
具体类可以通过执行此<AType> exec(Any[] args)
或通过这样做List<AType> exec(AType1 arg1, AType2 arg2)
但是......为什么?
实际上我正在尝试做一些依赖注入。具体类重写了一个方法nammed List<AType> exec(AType1 arg1, AType2 arg2, AnotherType1 arg3)
,它返回一个符号名称数组。
在运行时,类检索符号名称(在实例上映射),并使用适当的具体参数调用getParams():String[]
方法。
我找到了什么
我无法使用exec
执行此操作。 (顺便说一句,我不确定为什么Java编译器拒绝这个选项,因为每个具有此签名的Object映射。通过阅读本文的答案:Overriding abstract generic method in Java,我不明白为什么这是不允许的。)
我无法按照this oracle tutorial执行此操作,因为通用类型exec(Object... o)
必须是唯一的。
甚至可能吗? 如果是这样,我该怎么办?
非常感谢您的回答:)