Kotlin需要显式强制转换到对象

Kotlin需要显式强制转换到对象,kotlin,Kotlin,我试图在Kotlin中编写一个方法,返回类型为object的对象 在Java中,我只需将其编写为 public Object test() { return "Bla"; } 但是,在Kotlin中,这不起作用并抛出一个错误 fun test(): Object { return "Bla" } 在强制转换字符串时,将“Bla”作为对象返回它可以工作。有趣的是,Kotlin对象是从java.utils导入的,可能与java代码中的对象不同 为什么会这样?Kotlin不希望您返

我试图在Kotlin中编写一个方法,返回类型为
object
的对象

在Java中,我只需将其编写为

public Object test() {
    return "Bla";
}
但是,在Kotlin中,这不起作用并抛出一个错误

fun test(): Object {
    return "Bla"
}
在强制转换字符串时,
将“Bla”作为对象返回
它可以工作。有趣的是,Kotlin
对象
是从
java.utils
导入的,可能与java代码中的对象不同


为什么会这样?Kotlin不希望您返回这样的常规对象吗?在Kotlin中如何实现这一点?

在Kotlin中,类型层次结构以
Any
开始:

你可以写:

fun test() : Any {
    return "Bla"
}
但是
Any
不是
对象

注意:Any不是java.lang.Object;特别是,除了equals()、hashCode()和toString()之外,它没有任何其他成员。有关更多详细信息,请参阅Java互操作性部分


Kotlin使用
Any
。可能与Java代码中的对象不同-它是相同的