Was bedeutet das Ausrufezeichen in Kotlin und wie wird man es los?
Hallo zusammen! Ich habe gerade angefangen, Kotlin nach Java zu lernen, und bin auf eine unverständliche Konstruktion gestoßen. In fremdem Code habe ich gesehen, dass nach dem Typ einer Variable ein einzelnes Ausrufezeichen steht, zum Beispiel:\n\n```kotlin\nval name: String! = someJavaMethod()\n```\n\nIch habe versucht zu verstehen, was das bedeutet, aber in der Dokumentation habe ich nichts gefunden. Wenn ich solchen Code in meinem Projekt schreibe, gibt der Compiler den Fehler "This type has a constructor" aus. Und wenn ich es als Rückgabetyp einer Funktion verwende, unterstreicht IDEA es sogar rot.\n\nDabei sehe ich in den Logs, dass die Variable manchmal null sein kann und manchmal nicht. Ich habe versucht, `String?` zu schreiben – dann beschwert sich der Compiler, dass ich angeblich kein "unpack" durchführen kann. Und bei `String` gibt es eine Warnung vor einem möglichen NPE.\n\nKönnt ihr mir bitte erklären:\n1. Was ist `String!` und warum wird es verwendet?
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen
Blogs