ich nur einen Code mit Kotlin schrieb, und bekam einige Probleme, hier ist der Testcode:Kotlin String-Variable in Funktionsparameter Auto-Cast in java.lang.String, warum?
fun testString(s: Any)
{
when(s)
{
Int -> println("Int parameter!")
String -> println("String parameter!")
//Boolean -> println("Not boolean thing!") //Why Boolean cannot use in when?
else -> println("Other object!")
}
}
var ss = "This is actual a Kotlin String!"
println(ss.javaClass.simpleName) //out: String
testString(ss)//out: Other object! Why not String???
Das Problem ist, dass, wenn nur die Variable drucken, die erwartete Ausgabe zeigt: String (Kotlin)
, aber in der testString
Funktion, die Ausgabe wird immer die java.lang.String
, warum? Dann ein anderes ärgert mich ist das: Boolean kann nicht in when
? und warum? Danke im Voraus!
Das funktioniert für mich, vielen Dank !!! – SpkingR