Saltar al contenido

Integer.toString (int i) vs String.valueOf (int i)

Solución:

En String type tenemos varios métodos valueOf

static String   valueOf(boolean b) 
static String   valueOf(char c) 
static String   valueOf(char[] data) 
static String   valueOf(char[] data, int offset, int count) 
static String   valueOf(double d) 
static String   valueOf(float f) 
static String   valueOf(int i) 
static String   valueOf(long l) 
static String   valueOf(Object obj) 

Como podemos ver, esos métodos son capaces de resolver todo tipo de números.

cada implementación de un método específico como el que ha presentado: así que para enteros tenemos

Integer.toString(int i)

por doble

Double.toString(double d)

etcétera

En mi opinión, esto no es algo histórico, pero es más útil para un desarrollador usar el método valueOf de la clase String que del tipo adecuado, ya que nos lleva a realizar menos cambios.

Muestra 1:

public String doStuff(int num) {

  // Do something with num...

  return String.valueOf(num);

 }

Muestra2:

public String doStuff(int num) {

 // Do something with num...

 return Integer.toString(num);

 }

Como vemos en la muestra 2, tenemos que hacer dos cambios, al contrario que en la muestra uno.

En mi conclusión, usando el valueOf El método de la clase String es más flexible y por eso está disponible allí.

Una gran diferencia es que si invoca toString() en un objeto nulo obtendrás un NullPointerException mientras que, usando String.valueOf() no puede verificar si es nulo.

Solo dos formas diferentes de hacer lo mismo. Puede ser una razón histórica (no recuerdo si uno vino antes que el otro).

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *