Object方法toString、equals和hasCode继承自Any while to usewait和notify,您需要将变量转换为Object才能使用它们。
示例**
public inline fun <T> Iterable<T>.any(predicate: (T) -> Boolean): Boolean {
if (this is Collection && isEmpty()) return false
for (element in this) if (predicate(element)) return true
return false
}
public inline fun <T> Sequence<T>.any(predicate: (T) -> Boolean): Boolean {
for (element in this) if (predicate(element)) return true
return false
}
1条答案
按热度按时间iibxawm41#
为了访问类的类型信息,我们在Kotlin中使用了一个名为reified的关键字,为了使用reified类型,我们需要使用inline函数。
如果一个函数被标记为内联,那么无论在哪里调用该函数,编译器都会将整个函数体粘贴到那里。
Object是Java中类层次结构的根,每个类都有Object作为超类,在Kotlin中Any类型表示所有不可空类型的超类型。
Object方法toString、equals和hasCode继承自Any while to usewait和notify,您需要将变量转换为Object才能使用它们。