プリミティブ値がコンストラクタでボクシングされて、すぐに異なるプリミティブ型に変換されます (たとえば、new Double(d).intValue())。 直接プリミティブ型の型変換を実行してください (たとえば、(int) d)。
new Double(d).intValue()
(int) d