Sobes.tech
Junior — Middle

Wat gebeurt er als je een object dat is gedeclareerd als niet-nullbaar, benadert met de '?' operator?

sobes.tech AI

Antwoord van AI

Если объект объявлен как не допускающий null (например, с помощью аннотаций или в Kotlin без nullable типа), то использование оператора безопасного вызова ?. на таком объекте технически возможно, но обычно избыточно.

Оператор ?. применяется для обращения к свойствам или методам объекта, который может быть null, чтобы избежать NullPointerException. Если объект гарантированно не null, то ?. ведёт себя как обычный оператор . — вызов происходит напрямую.

Например, в Kotlin:

val nonNullString: String = "Hello"
println(nonNullString?.length) // Работает, но ? излишен, результат 5

Таким образом, если объект не может быть null, оператор ?. не изменит поведение, но его использование не имеет смысла и может указывать на избыточность или ошибку в коде.