What does it mean that Kotlin is 'null-safe' and how does it affect Java interoperability?
Kotlin allows null values to be passed to Java methods, but it checks for nullability within Kotlin itself.
Thatâ€™s partially correct. Kotlin allows null values to be passed to Java, but Kotlinâ€™s type system ensures that nullable types are handled more safely within Kotlin code.
Can you explain how Kotlin's `?` and `!!` operators work with Javaâ€™s null values?