Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Tipo de una variable en Java

Iniciado por sukhur, 29 de Abril de 2007, 01:16:42 PM

« anterior - próximo »

sukhur

Hola, ¿es posible saber el tipo de una variable en Java?. Me refiero si hay "algo" que te devuelva String, int, boolean, Object, etc. (Para que se me entienda algo como el gettype() de PHP, o en su defecto is_object(), is_string() ,etc)

Bueno después de esta breve pregunta os presento el problema en concreto:

Dispongo de un hashtable en el que las key's son cadenas y los valores pueden ser cadenas u otro tipo de Objeto, por ejemplo un Vector.

El caso es que tengo un método que debe devolver el valor cuando valor es String o la key cuando valor es otro tipo de objeto.

Por si no se entiende pongo un ejemplo:

cerdo -> cochino, marrano
cochino -> cerdo
marrano -> cerdo

Bueno, en el caso de cochino y marrano el metodo deberia devolver "cerdo", pero en el caso de cerdo deberia devolver tambien "cerdo" y no el Vector(Lista o lo que sea) compuesto por  "cochino, marrano".

Y sí, el problema va de un diccionario de sinónimos, :).

La verdad es que he estado buscando algo que me devuelva el tipo de una variable en Java pero no he encontrado nada (quizás es porque no exista), aunque seguro que mi problema se puede resolver de otra manera.

Zaelsius

Puedes usar .getClass()

Sin embargo, si sólo vas a indexar cadenas o vectores de cadenas, ¿por qué no usar lo último siempre?

sukhur

Digamos que en un conjunto de sinónimos habrá solo un representante, que en cada conjunto será la menor palabra alfabéticamente. Por ello, seria redundante:

cerdo -> cochino, marrano
cochino -> cerdo, marrano
marrano -> cerdo, cochino

Si la palabra representante contiene a todas y después cada una de ellas contiene a la representante entonces todas se tienen a todas.

Bueno, al final creo que con getClass().getSimpleName() me bastará.

Aunque ahora se me ha presentado otra duda, si serían tipos primitivos que deberia utilziarse para disponer de getClass() ¿los wrappers?






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.