Ich bin ein Java-Neuling. Ich versuche herauszufinden, ob eine Zahl ein Double mit so etwas ist:
if ( typeof ( items.elementAt(1) )== Double ) {
sum.add( i, items.elementAt(1));
}
Würde mich freuen, wenn mir jemand sagen könnte, wie ich die Syntax neu anordnen kann, damit dies richtig funktioniert.
object o = new object(); Type t = typeof(o);
wirft einen Compilerfehler auso is a variable but is used like a type
. Der Name dieser Frage ist falsch ...Object#GetType()
Methode, die a zurückgibtType
. Das kann dann zum Vergleichen verwendet werdentypeof()
. In diesem Fall wäre esitems.elementAt(1).GetType() == typeof(double)
.Antworten:
Versuche dies:
quelle
elementAt(0)
; Die meisten Dinge in Java basieren auf Null.Da dies die erste Frage von Google ist, füge ich auch hier die
typeof
Alternative im JavaScript-Stil hinzu :quelle
Die Reflexion ist langsamer, funktioniert jedoch in einer Situation, in der Sie wissen möchten, ob es sich um einen Hund oder eine Katze handelt und nicht um eine Tierinstanz. Sie würden also so etwas tun:
Nicht zu sagen, dass die obige Antwort nicht funktioniert, außer dass der Nullprüfungsteil notwendig ist.
Eine andere Möglichkeit, dies zu beantworten, besteht darin, Generika zu verwenden, und Sie haben garantiert Double als jedes Element von Elementen.
quelle
.getClass().toString()
weil ich die Klasse aufgrund einer Einweg-Abhängigkeitsinjektion nicht importieren kann. Vielen Dank.Verwenden Sie reguläre Ausdrücke, um diese Aufgabe zu erfüllen. Bitte beachten Sie den folgenden Code.
quelle