当我用普通的集合我已经做了自定义扩展到那些像utils的:如何扩展一个静态的最终番石榴公用事业课程?
class MyCollectionUtils extends CollectionsUtils {
static myutilityMethod()
static removeDublicate(..)
static myPredicate(...)
}
在这种情况下,我从CollectionsUtils
所有功能,我只用一个导入的扩展方法!
在番石榴中,所有的静态工具类都是final
。
什么是扩展番石榴收集API的最佳方法?例如,新的常用谓词,收集工厂等,收集组合器。
我不同意用静态类扩展静态类是个坏主意。例如在Scala中,将一个对象(单例)与另一个对象进行扩展是很常见的。 如果我这样做,我将不得不始终做两个进口“导入静态番石榴。*,导入静态myutils。” – yura
@yura是的,但进口工作在Scala中的工作方式不同。在Java中,它只是简单的丑陋。 –
我没有说这是一个“坏主意”,我只是说它不提供价值。如果API的设计者宣布它是“最终”的,那么他们的意图是不要延长(无论出于何种原因)。我想我还是没有看到更多'import'语句有什么问题。如果您使用IDE,则几乎不需要自己管理它们。 –