Formación informática

Java | Joomla | MySQL

Curso de Java – Tema 17: Clase Integer

 Otra persona con quebraderos de cabeza con los númerosPara acceder a su definición oficial en la API de Java 8 tenemos que pulsar sobre este enlace.

¿Qué es?

Es una clase de Java de tipo final que hereda de la Clase Number e implementa la clase Comparable que envuelve el tipo primitivo int en un objeto. Un objeto de tipo Integer contiene un solo campo cuyo valor es de tipo int. Además esta clase proporciona varios métodos para convertir un int en una cadena y una cadena en un int así como otras constantes y métodos útiles para tratar un int.

Para aplicar los métodos de esta clase la sintaxis genérica es

tipo_dato nombre_variable = Integer.nombreDelMetodo

En función del método de usemos tendremos que declarar la variable de uno u otro tipo. Si vamos a convertir a String, la variable tendrá que ser de este tipo.

Diferencia con el tipo primitivo int

Dicho en lenguaje coloquial un int es un número, y un Integer es un puntero que hace referencia a una clase que contiene un entero. Haciendo un símil con objetos reales un Integer es una caja  y un int es lo que hay dentro de esa caja. ¿Esto qué significa?

Un int es mucho más rápido cuando se trata de calcular números en el rango -2.147.483.648 [-231], es decir, Integer.MIN_VALUE y +2.147.483.647 [2 31-1] es decir, Integer.MAX_VALUE. O sea, un int tiene a nuestra disposición 32 bits de información para ser usados directamente.

Las variables int son mutables. A menos que se les marque como final, pueden cambiar su valor en cualquier momento. Un ejemplo típico de uso de in tpara cambiar el valor del contador dentro de los bucles for, while, etc.

Un Integer es un objeto que contiene un único campo int. Un Integer es mucho más voluminoso que un int. Los objetos Integer son inmutables. Si se desea afectar el valor de una variable Integer, la única manera es crear un nuevo objeto Integer y descartar el antiguo.

En la tabla siguiente tienes unas recomendaciones para decidir qué clase usar en tus proyectos:

 Uso

 int

Integer

 Cálculos con + - * / % ^ etc.                              

no

 Pasar como parámetro                                       

 Retornar como un valor                                     

 Usar métodos desde java.lang.Integer                       

no

 Almacenarlo en un Vector o en otra Colección               

no

 Usarlo como una llave de HashMap                           

no

 Serializarlo                                               

no

 Pasarlo como un objeto genérico (TableCellRenderer)        

no

 Admitir como un valor nulo para significar que no hay valor

 no 

 sí 

 Enviarse a sí mismo por RMI (Remote Method Invocation)     

 no 

 sí

 Enviarlo como parte de otro Objeto a través de RMI         

 sí 

 sí

Métodos más empleados

Aunque la clase tiene muchísimos métodos disponibles, los usados más habitualmente son:

Nombre del método (parámetro/s)

Función

int compareTo(Integer anotherInteger)

Compara dos objetos Integer numéricamente.

double doubleValue()

Devuelve el valor de este entero como un doble.

float floatValue()

Devuelve el valor de este entero como un float.

long longValue()

Devuelve el valor de este entero como un largo.

static int parseInt(String s)

Analiza el argumento de cadena como un entero decimal con signo.

String toString ()

Devuelve un objeto String que representa el valor de este Integer.

static Integer valueOf (String s)

Devuelve un objeto Integer que contiene el valor de la cadena especificada.

parseInt(String)

Devuelve un texto como número.

Para realizar la conversión de una cadena a un podemos utilizar el método estático parseInt de la clase Integer, de la siguiente forma:

try {
   String s = "38.0";
   int i = Integer.parseInt(s);
} catch (NumberFormatException nfe) {
   System.err.println("Error de conversion de " + b + ": " + nfe.getMessage());
}

Curso de Java – Tema 16: Clase JOptionPane <- | -> Curso de Java – Tema 18: Clase String
Curso de Java - Índice ejercicios nivel básico

Escribir un comentario

Aunque los comentarios no expresan la opinión del administrador del sitio web, éste si que tiene una responsabilidad legal sobre lo que aparece. Por lo tanto, habrá una labor de moderación de los mensajes. No se permitirán mensajes ofensivos ni publicidad


Código de seguridad
Refescar

Solicitamos su permiso para obtener datos estadísticos de su navegación en esta web, en cumplimiento del Real Decreto-Ley 13/2012, de 30 de marzo. Si continúa navegando consideramos que acepta el uso de cookies. . Más información