Anuncios

Bienvenidos sean a este post, hoy hablaremos sobre el metodo valueOf y para que nos puede servir.

Anuncios

Este metodo nos devuelve el objeto numerico relevante del argumento informado, este argumento puede ser un valor primitivo, un literal, una Cadena, otro objeto, etc, y al ser metodo estatico nos permite ser utilizada en cualquier momento, veamos su sintaxis:

objetoTipo.valueOf(valor[, radix]);
Anuncios

Primero ira el tipo de dato que sera (Integer, Double, Float, etc) seguido de la funcion y un valor, este argumento es obligadorio, que puede ser un entero o una cadena con uno opcional que es radix, este valor sera el encargado de reordenar el valor informado previamente, para ello utiliza el orden radix donde toma el numero informado como base y al valor informado anteriormente lo ordena o convierte a su equivalente en la base decimal, el numero de radix dispone de tres valores para trabajar:

ValorSistema Base
8Octal
10Decimal
16Hexadecimal
Anuncios
Nota: Esto solo aplica si el valor informado es de tipo String.
Anuncios

Si no lo informamos toma como valor predeterminado el 10, para entender un poco mejor este concepto vamos a crear un ejemplo, para ello crearemos un nuevo archivo que llamaremos valorde.java y le agregaremos el siguiente codigo:

valorde.java

public class valorde
{
	public static void main(String []args)
	{
		int x = 10;
		Integer a = Integer.valueOf(x);
		Integer b = Integer.valueOf("1024");
		Integer c = Integer.valueOf("1BC",16);
		Double d = Double.valueOf(b);
		Float e = Float.valueOf(a);

		System.out.println(a);
		System.out.println(b);
		System.out.println(c);
		System.out.println(d);
		System.out.println(e);
	}
}
Anuncios

Esta es una clase simple, primero crearemos una variable de tipo int llamada x con un valor, luego crearemos otra de tipo Integer que usaremos con el metodo valueOf pasando el valor de x, despues crearemos otra variable del mismo tipo que la anterior pero pasaremos un valor de tipo String pero sin radix, para luego crear otra variable mas donde pasaremos un valor de tipo String al valueOf pero con un valor de base o radix de 16, es decir que trabaje con un sistema hexadecimal, por ultimo crearemos dos variables de tipo Double y Float donde le pasaremos los valores de b y a respectivamente.

Anuncios

Las siguiente lineas solo se encargan de mostrar el valor almacenado en cada una de las variables definidas anteriormente, probemos de compilar y ejecutar para ver su salida:

tinchicus@dbn001vrt:~/lenguajes/java$ java valorde 
10
1024
444
1024.0
10.0
tinchicus@dbn001vrt:~/lenguajes/java$
Anuncios

Si pueden ver nos salieron todos los resultados sin errores pero observen una curiosidad en el tercer valor, este nos convirtio el valor pasado en cadena de tipo hexadecimal, el informado en el radix, a su equivalente en la base decimal, y tambien vean como convirtio el valor en String de forma literal en un valor de tipo entero que al ser informado luego pudo ser utilizado sin inconvenientes, es decir que esta funcion nos puede resultar util para convertir valores almacenados en String o cadena, algun dato recibido de una pagina web, convertirlo en un valor de tipo entero o de otro tipo dependiendo de la necesidad, tambien nos permite convertir desde una base distinta a la decimal en un numero entero decimal.

Anuncios

En resumen, hoy hemos visto a valueOf, hemos visto como pudimos obtener un valor absoluto ya sea desde un valor de tipo entero o uno de tipo String e inclusive poder ajustar a este ultimo en decimal en caso de ser de otra base, hemos visto un simple pero bastante clarificador, espero les haya sido util sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Anuncios

Tengo un Patreon donde podes acceder de manera exclusiva a material para este blog antes de ser publicado, sigue los pasos del link para saber como.

Donación

Es para mantenimento del sitio, gracias!

$1.00