ab
null bir değişken var. Ona null atadıktan sonra toUpperCase
numaralı telefonu güvenli arama operatörü ile ararsam, kotlin hata verir.Kotlin güvenli aramasında aşırı yük çözünürlüğü hatası alıyorum
fun main(args: Array<String>){
var ab:String? = "hello"
ab = null
println(ab?.toUpperCase())
}
Error:(6, 16)
Overload resolution ambiguity:
@InlineOnly public inline fun Char.toUpperCase(): Char defined in kotlin.text
@InlineOnly public inline fun String.toUpperCase(): String defined in kotlin.text
Ne oluyor burada?
"Değişken ab türü basitçe boş" null bir tür değil! –
"toUpperString() uzantısı işlevinin yalnızca Char ve String (Char? Veya String? Değil) için tanımlandığını dikkate alarak, aralarında seçim yapmanın bir yolu yoktur." güvenli arama operatörü kullanılır ve bu nedenle, null olması durumunda, toUpperString() asla ab olarak çağrılmaz. –
"... bir String içermeyen bir yol yoktur)" null atamadan sonra ne ab = "merhaba2" a atarsam. aniden * bir tekrar * içeren bir yol * var. –