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
typeofalternativa 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