Math.◯◯Exact
たまにオーバーフローを検知したいときがあります。愚直にif文で検知することもできるのですが、Javaには計算結果がオーバーフローするときにちゃんと例外を投げてくれるメソッドがあります。
- addExact
- decrementExact
- incremantExact
- subtractExact
- multiplyExact
- negateExact
- toIntExact
機能は名前を読めばだいたいわかると思います。詳細は参考。これらの関数を用いて計算して結果がオーバーフローしたときはArithmeticExceptionというRuntimeExceptionを継承した例外クラスを投げてくれます。
オーバーフローしたときは0を返すだけでいいよ、みたいなときにtry-catchでくくって使えるとクールですね。