我有实用程序文件 Utility.kt
这里我定义了一些常量,例如
val DATE_FORMAT = DateTimeFormatter.ofPattern("yyyyMMdd")
const val UTC_TIMEZONE = "UTC"
现在我需要定义包含2个元素的列表。我找不到以静态方式编写它的方法。我需要
之类的东西val DEFAULT_LIST = ArrayList<MyObj>()
val one = MyObj("one")
val two = MyObj("two")
DEFAULT_LIST.addAll(one,two)
即仅创建一次列表和对象。我可以使用随播对象。但是现在我只使用不带类的文件。
有可能吗?
答案 0 :(得分:4)
最通用的解决方案是调用m_buffer
,该方法不接受任何参数,并产生作为块结果的值。只需对代码进行最少的更改:
run
答案 1 :(得分:1)
您可以使用expo build:ios
或listOf
和参数创建列表:
arrayListOf
或者如果您确实需要更复杂的对象创建,例如val DEFAULT_LIST = listOf(MyObj("one"),MyObj("two"))
,使用范围函数apply
或also
进行初始化。
两者都返回接收者(this),您可以将其分配给变量:
ArrayList
答案 2 :(得分:0)
如果我理解这个问题,通常的方法是使用listOf()
函数。
如果您不需要保留对两个对象的单独引用,则可以执行以下操作:
val DEFAULT_LIST = listOf(MyObj("one"), MyObj("two"))
或者,如果您这样做:
val one = MyObj("one")
val two = MyObj("two")
val DEFAULT_LIST = listOf(one, two)
如果要对列表的确切类型进行更多控制,可以使用mutableListOf()
或arrayListOf()
,或调用采用一系列项目的构造函数(例如LinkedList(listOf(one, two))
)。