title: Java operator overloading
body: <p>Not using operators makes my code obscure.</p>
  
  <pre><code>(aNumber / aNother) * count
  </code></pre>
  
  <p>is better than</p>
  
  <pre><code>aNumber.divideBy(aNother).times(count)
  </code></pre>
  
  <p>After 6 months of not writing a single comment I had to write a comment to the simple operation above. Usually I refactor until I don't need comment. And this made me realize that it is easier to  read and perceive math symbols and numbers than their written forms.</p>
  
  <p>For example</p>
  
  <pre><code>TWENTY_THOUSAND_THIRTEEN.plus(FORTY_TWO.times(TWO_HUNDERED_SIXTY_ONE))
  </code></pre>
  
  <p>is more obscure than</p>
  
  <pre><code>20013 + 42*261
  </code></pre>
  
  <p>So do you know a way to get rid of obscurity while <strong>not</strong> using operator overloading in Java?</p>
  
  <p><strong>Update:</strong> I did not think my exaggeration on comments would cause such trouble to me. I am admitting that I needed to write comment a couple of times in 6 months. But not more than 10 lines in total. Sorry for that.</p>
  
  <p><strong>Update 2:</strong> Another example:</p>
  
  <pre><code>budget.plus(bonusCoefficient.times(points))
  </code></pre>
  
  <p>is more obscure than</p>
  
  <pre><code>budget + bonusCoefficient * points
  </code></pre>
  
  <p>I have to stop and think on the first one, at first sight it looks like clutter of words, on the other hand, I get the meaning at first look for the second one, it is very clear and neat. I know this cannot be achieved in Java but I wanted to hear some ideas about my alternatives.</p>