Kotlin-未解析引用

Kotlin-未解析引用,kotlin,unresolved-external,Kotlin,Unresolved External,我对onStrike变量有疑问。我在UnionEmployee中声明onStrike为:var onStrike=False。然后,我转到main函数,将UnionEmployee的对象创建为x,但当我想设置x.onStrike=true时,它会显示 未决转介 有没有办法解决这个问题?一个可能的原因是,您的列表不是MutableList,而是一些工会员工的超类型列表,例如,只是MutableList。这可以解释为什么您可以成功地在那里添加一个UnionEmployee,并调用此列表项上的work

我对
onStrike
变量有疑问。我在
UnionEmployee
中声明
onStrike
为:
var onStrike=False
。然后,我转到main函数,将UnionEmployee的对象创建为x,但当我想设置x.onStrike=true时,它会显示

未决转介


有没有办法解决这个问题?

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

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

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

Hi!请复制粘贴代码,而不是张贴截图!这使得查看与问题相关的代码变得更加容易。谢谢
onStrike
是一个布尔变量,不是类
UnionEmployee
的成员。