Soy un novato en Java. Estoy tratando de averiguar si un número es un doble con algo como esto:
if ( typeof ( items.elementAt(1) )== Double ) {
sum.add( i, items.elementAt(1));
}
Agradecería que alguien me dijera cómo reorganizar la sintaxis para que esto funcione correctamente.
object o = new object(); Type t = typeof(o);
arroja un error del compilador que diceo is a variable but is used like a type
. El nombre de esta pregunta es engañoso ...Object#GetType()
método, que devuelve unType
. Eso luego se puede usar para comparar contypeof()
. En este caso, lo seríaitems.elementAt(1).GetType() == typeof(double)
.Respuestas:
Prueba esto:
fuente
elementAt(0)
; la mayoría de las cosas en Java están basadas en cero.Dado que esta es la primera pregunta de Google, también agregaré la
typeof
alternativa de estilo JavaScript aquí:fuente
La reflexión es más lenta, pero funciona para una situación en la que desea saber si es del tipo Perro o Gato y no una instancia de Animal. Entonces harías algo como:
No decir la respuesta anterior no funciona, excepto que la parte de verificación nula es necesaria.
Otra forma de responder es usar genéricos y se le garantiza que tendrá Double como cualquier elemento de los elementos.
fuente
.getClass().toString()
porque no puedo importar la clase debido a una inejión de dependencia unidireccional. Gracias.Utilice expresiones regulares para lograr esta tarea. Consulte el siguiente código.
fuente