Ich möchte oft eine Zeichenfolge halten, die nicht null sein kann oder leer - Leerzeichen ist nicht gut genug. Der Compiler behandelt String?
schön, um Null zu verhindern, und wir können aNullableString.isNullOrBlank()
verwenden, um zu überprüfen, ob es null oder leer ist. Dies erfordert jedoch, dass der Blankoscheck überall dort gehandhabt wird, wo er verwendet wird, und dann Fehler behandelt, wenn er leer ist, was zu unerwarteten Fehlern führen kann, wenn Sie einen Punkt übersehen.Wie erzwinge ich einen leeren, nicht null String in Kotlin?
Gibt es eine einfachere Möglichkeit, einen Typ oder eine Erweiterung zu String
zu definieren, der erzwingt, dass die Zeichenfolge nicht leer sein darf?
Sie können einen neuen „NonEmptyString“ Typ machen, die einen String wickelt und stellt sicher, es nie leer ist, indem Sie den „Input“ Zeichenfolge an den Konstruktor gegeben zu überprüfen. Sie können auch nur Operationen für die umbrochene Zeichenfolge verfügbar machen, die nicht dazu führt, dass sie leer wird. Optional können Sie solche Operationen hinzufügen, jedoch mit Überprüfungen, um sicherzustellen, dass sie nicht zu einer leeren Zeichenfolge führen. – Alexander