Redondeo con DecimalFormat en Java

Veamos las siguientes afirmaciones en Java.

<code>System.out.println(new DecimalFormat("0").format(2.4)); //returns 2

System.out.println(new DecimalFormat("0").format(2.5)); //returns 2  <---Concentrate here
System.out.println(Math.round(2.5));                    //returns 3

System.out.println(new DecimalFormat("0").format(2.6)); //returns 3
System.out.println(new DecimalFormat("0").format(3.5)); //returns 4
</code>

En las declaraciones anteriores, todos los demás casos son obvios, excepto los siguientes.

<code>System.out.println(new DecimalFormat("0").format(2.5));
</code>

Debería volver3 pero vuelve2. ¿Cómo?

Respuestas a la pregunta(2)

Su respuesta a la pregunta