Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android Studio(Kotlin)中处理赋值运算符歧义_Android_Arraylist_Kotlin_Ambiguity - Fatal编程技术网

在Android Studio(Kotlin)中处理赋值运算符歧义

在Android Studio(Kotlin)中处理赋值运算符歧义,android,arraylist,kotlin,ambiguity,Android,Arraylist,Kotlin,Ambiguity,我最近开始在kotlin开发android应用程序,并且已经解决了这个问题。 我在活动开始时声明了var employees Arraylist并将其赋值为null,稍后在OnCreate方法中将字符串值添加到该活动中 var员工:ArrayList?=null 现在,当我向它添加值时,我得到一个赋值运算符模糊错误 在互联网上做了一些研究后,我发现对可变列表的+=操作有两种可能的解释——要么将一项附加到现有列表中,要么通过将新值附加到旧列表中来创建一个新列表,并将对新列表的引用存储在变量中

我最近开始在kotlin开发android应用程序,并且已经解决了这个问题。 我在活动开始时声明了var employees Arraylist并将其赋值为null,稍后在OnCreate方法中将字符串值添加到该活动中

var员工:ArrayList?=null
现在,当我向它添加值时,我得到一个赋值运算符模糊错误

在互联网上做了一些研究后,我发现对可变列表的+=操作有两种可能的解释——要么将一项附加到现有列表中,要么通过将新值附加到旧列表中来创建一个新列表,并将对新列表的引用存储在变量中。

现在我的问题是如何让编译器从一个解释中选择要添加到可变列表中


谢谢。

根据您的要求,您可以自己选择一个

如果您只想将员工添加到
员工

var employees: ArrayList<String>? = null
employees?.plusAssign("employee")
请注意声明之间的差异。但我认为最好是使用
ArrayList
add()
函数添加一名员工:

var employees: ArrayList<String>? = null
employees?.add("employee")
var员工:ArrayList?=无效的
员工?.add(“员工”)

我认为没有必要坚持使用赋值运算符,毕竟,这只是方法调用的一种方便方式:)

如果使用
val
而不是
var
,运算符将按需要工作:

val myArrayList=arrayListOf()


myArrayList+=“firstElement”//works很好

请始终将您的代码作为文本而不是图像发布。非常感谢,plusaSign为我工作。但奇怪的是,当使用add和plus时,我会将空值分配给var employees如果使用add或plus,那么就不需要分配给员工,他们只是修改了员工。add和plus方法没有返回值。我正在这样做,
employees?.plus(“hello”)
然后是
employees?.add(“hello”)
Log.I(“employees”,employees.toString())
其中给出了:I/employees:nullyou应该首先初始化employees,employees=araylist(),对于我来说,使用
+=/code>是有原因的。在设计Kotlin-Gradle插件时,应该对Groovy进行最小的语法更改,以允许用户轻松转换。
var employees: List<String>? = null
employees = employees?.plus("employee")
var employees: ArrayList<String>? = null
employees?.add("employee")