Wie überprüft man den Objekttyp (instanceof) in Kotlin? Analog zu Java instanceof
Hallo! Ich habe gerade angefangen, Kotlin nach Java zu lernen und bin auf ein Problem gestoßen. In Java habe ich ständig den Operator instanceof verwendet, um zu überprüfen, ob ein Objekt eine Instanz einer bestimmten Klasse ist. Zum Beispiel:
// Java
if (obj instanceof String) {
String str = (String) obj;
System.out.println(str.length());
}
Aber in Kotlin kann ich kein direktes Analogon finden. Ich habe versucht, obj instanceof String zu schreiben, aber der Compiler gibt einen Fehler aus. Ich habe versucht, is zu verwenden — es schien zu funktionieren, aber ich bin mir nicht sicher, ob das richtig ist.
Hier ist, was ich geschrieben habe:
fun checkType(obj: Any) {
// Versuche, den Typ zu überprüfen
if (obj is String) {
// Ich möchte die Methode length() aufrufen
println(obj.length)
}
}
Dieser Code wurde kompiliert und funktioniert. Aber ich habe ein paar Fragen:
- Verwende ich
isrichtig anstelle voninstanceof? - Muss ich nach der