C#的扩展方法很适合添加语法糖,Java扩展方法很好地允许库开发人员向他们的接口添加方法。
我是一名非库Java开发人员,我知道从库中获得新功能会带来很多好处,但我仍然希望拥有C#扩展方法的语法糖功能。
这是可能的吗,或者这在Java的未来版本中是可能的?
我想把方法添加到String类中。
String data = StringUtils.capitalize("abcd"); // instead of this
String data = "abcd".capitalize() // I would like to do this请不要关注这个特定的例子,我只是展示了我想要实现的功能类。
发布于 2012-10-30 00:06:15
Java没有这个特性,也不太可能很快就有。
然而,Groovy确实有一个very similar feature,而且它也可以在JVM上运行。也许这是一种选择。
发布于 2012-10-30 00:24:25
我怀疑您正在考虑向Java 8添加一个计划中的内容,它将允许您使用默认实现向接口添加方法--这样您就可以在不破坏所有现有代码的情况下添加新方法。这只在您控制接口类型时才有用--因为String不是接口,所以它对String没有用处。
https://stackoverflow.com/questions/13125210
复制相似问题