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