Java运算符重载

nimcap:

不使用运算符会使我的代码晦涩难懂。

(aNumber / aNother) * count

胜过

aNumber.divideBy(aNother).times(count)

在六个月没有写任何评论之后,我不得不对上面的简单操作写评论。通常,我会进行重构,直到不需要评论为止。这使我意识到,与数学符号和数字相比,阅读和感知数学符号和数字要容易得多。

例如

TWENTY_THOUSAND_THIRTEEN.plus(FORTY_TWO.times(TWO_HUNDERED_SIXTY_ONE))

比这更晦涩

20013 + 42*261

那么,您知道一种在Java中使用运算符重载而摆脱晦涩的方法吗?

更新:我认为我对评论的夸大不会给我带来麻烦。我承认我需要在6个月内写几次评论。但总数不超过10条。抱歉

更新2:另一个示例:

budget.plus(bonusCoefficient.times(points))

比这更晦涩

budget + bonusCoefficient * points

我必须停下来思考一下第一个,乍一看它看起来像是乱七八糟的单词,另一方面,我第一次看到了第二个就明白了,它非常清晰整洁。我知道这在Java中无法实现,但我想听听一些有关替代方案的想法。

星空:

在Java中,只需克服它,然后将方法名称作为BigInteger用作标准,这样您就可以习惯它们。

或看看Scala。

至少我就是这么做的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章