Kotlin-未解决的参考

问题描述 投票:-1回答:1

enter image description here

我对onStrike变量有疑问。我在onStrike中将UnionEmployee声明为:var onStrike = False。然后,转到主函数并创建一个UnionEmployee as x对象,但是当我要设置x.onStrike = true时,它说

未解决的引荐

是否有解决此问题的方法?

kotlin unresolved-external
1个回答
0
投票

[一个可能的原因是您的列表不是MutableList<UnionEmployee>,而是某些UnionEmployee的超类型的列表,例如只是MutableList<Employee>。这可以解释为什么您可以在此处成功添加UnionEmployee并在此列表的项目上调用work方法。如果是这种情况,那么您应该将列表声明为MutableList<UnionEmployee>或将获得的项目转换为UnionEmployee,如果您确定它属于这种类型:

(list[3] as UnionEmployee).onStrike = true

[另一种解释取决于UnionEmployee是用Java还是用Kotlin编写的。如果使用Java,则getOnStrike /setOnStrikejava方法可在Kotlin中作为属性onStrike访问。如果该类位于Kotlin中,则应在声明时从Kotlin调用这些函数-即作为函数。如果需要Kotlin类中的属性,则应将其声明为属性。

© www.soinside.com 2019 - 2024. All rights reserved.