2011-01-12 30 views
6

Digamos que tengo dos objetos de cadena: "25000.00" y "1234" que obtiene mi programa en tiempo de ejecución. ¿Cómo puedo verificar si son convertible convertible a tipo double e int, respectivamente? ¿Hay algún método o palabra clave en Java que ya lo haga?¿Cómo verificar si un objeto es convertible a otro tipo?

+1

Para obtener más información sobre la fundición, consulte este tutorial: http://download.oracle.com/javase/tutorial/java/IandI/subclasses.html – BalusC

+0

Gracias por la aclaración, BalusC. –

Respuesta

8

Puede usar los métodos estáticos Integer.parseInt o Double.parseDouble para hacer esto. Cada uno de estos métodos admite String y los convierte en int o double según corresponda. Puede verificar si la cadena es convertible llamando a esta función. Si la conversión es posible, se realizará. De lo contrario, los métodos arrojarán NumberFormatException s, que puede detectar y responder. Por ejemplo:

try { 
    int value = Integer.parseInt(myString); 
    // Yes! An integer. 
} catch (NumberFormatException nfe) { 
    // Not an integer 
} 

Espero que esto ayude!

3

Solo para aclarar: String es Nunca moldeable a Double o Integer.

Sin embargo, se puede analizar una cadena como un número utilizando los métodos y Double.parseDoubleInteger.parseInt. Si no son analizables, se lanzará un NumberFormatException. Puede atraparlo y manejarlo apropiadamente.

Casting y analizando son cosas completamente diferentes.

EDITAR: Veo que @BalusC ha editado la pregunta y ha cambiado "lanzar" a "convertir". Supongo que mis comentarios son redundantes ahora :)

+0

Gracias por la aclaración. Siempre pensé que el casting y el análisis son lo mismo. –

+0

Definitivamente no. Sin embargo, ambos son formas de conversión. – BalusC

0

En C#, hay un método para verificar si un objeto se puede convertir a otro objeto. Pero supongo que Integer.parseInt o Double.parseDouble son suficientes.

Cuestiones relacionadas