1
次のコードは、渡されたオブジェクトのクラスのスーパークラスのチェーンを最上位に達するまで繰り返します。Kotlin:クラスオブジェクト - オブジェクト推論エラーからスーパークラスを取得
protected fun getBestMethodFor(o: Any): Method? {
val nodeClass = o.javaClass
val objectClass = Any::class.java
...
// Go through superclasses.
var c = nodeClass
while (c != objectClass && ans == null) {
debugMsg("Looking for class match for " + c.name)
...
c = c.superclass
}
...
}
これは、2つのエラーになります:
Error:(57, 17) Kotlin: Type mismatch: inferred type is Class<in Any!>! but Class<Any> was expected
Error:(57, 19) Kotlin: Type inference failed. Expected type mismatch: inferred type is Class<in Any!>! but Class<Any> was expected
なぜ失敗している、と私はこの問題を解決するために変更には何が必要ですか?
注:コードは、IntelliJのコンバータを使用してJavaから自動的に変換されました。