long example java numbers long-integer

example - ¿Por qué el valor.longValue() de java.lang.Long arroja su valor de instancia(largo) a largo?



long vs int java (1)

He estado investigando el código fuente de la clase java.lang.Long .

Considera esto:

public final class Long extends Number implements Comparable<Long> { .... private final long value; .... public long longValue() { return (long)value; } .... }

¿Cuál es la razón para lanzar de long a long ?

¿Por qué no reralizar serializarlo (?) En la clase Número en este caso?

Enlace de código fuente PS1

Tengo estas posibles explicaciones:

  1. Descuido de los desarrolladores
  2. Cumplimiento con algún estilo de código unificado
  3. Fue hecho para algún caso especial, pero no entiendo por qué.

PS2

mi versión java - 1.7.0_45-b18

PS3 solo por información:

Integer :

public final class Integer extends Number implements Comparable<Integer> { .... private final int value; .... public int intValue() { return value; } .... }

Short :

public final class Short extends Number implements Comparable<Short> { .... private final short value; .... public short shortValue() { return value; } .... }

y lo mismo para Byte y Character . (Ninguno de estos emitió like-to-like.)

¿Es un problema o puede simplemente olvidarse?


¿Supongo que se hizo que el código se unificara para los métodos relacionados?

observar un estilo de código único.

public short shortValue() { return (short)value; } public int intValue() { return (int)value; } public long longValue() { return (long)value; } public float floatValue() { return (float)value; } public double doubleValue() { return (double)value; }

Pero noté que en Java 1.6 (1.6_0_45 al menos) para la clase Integer

public int intValue() { return (int)value; }

pero en Java 1.7 para la clase Integer

public int intValue() { return value; }

Conclusión : los desarrolladores no han prestado atención a este aspecto.

PS: es solo mi suposición.