Je suis un débutant en Java. J'essaie de déterminer si un nombre est un double avec quelque chose comme ceci:
if ( typeof ( items.elementAt(1) )== Double ) {
sum.add( i, items.elementAt(1));
}
J'apprécierais si quelqu'un pouvait me dire comment réorganiser la syntaxe pour que cela fonctionne correctement.
object o = new object(); Type t = typeof(o);
lance une erreur de compilation en disanto is a variable but is used like a type
. Le nom de cette question est erroné ...Object#GetType()
méthode, qui renvoie unType
. Cela peut ensuite être utilisé pour comparer avectypeof()
. Dans ce cas, ce serait le casitems.elementAt(1).GetType() == typeof(double)
.Réponses:
Essaye ça:
la source
elementAt(0)
; la majorité des éléments en Java sont basés sur zéro.Puisqu'il s'agit de la première question de Google, j'ajouterai
typeof
également ici l'alternative au style JavaScript :la source
La réflexion est plus lente, mais fonctionne pour une situation où vous voulez savoir si c'est de type Chien ou Chat et non une instance d'Animal. Vous feriez donc quelque chose comme:
Ne pas dire la réponse ci-dessus ne fonctionne pas, sauf que la partie de vérification nulle est nécessaire.
Une autre façon de répondre est d'utiliser des génériques et vous êtes assuré d'avoir Double comme n'importe quel élément des éléments.
la source
.getClass().toString()
car je ne peux pas importer la classe en raison d'une inejction de dépendance à sens unique. THX.Utilisez une expression régulière pour accomplir cette tâche. Veuillez vous référer au code ci-dessous.
la source