Kotlin中集合的可变属性和不可变属性有什么区别

时间:2018-08-28 12:21:54

标签: collections kotlin corda

我要在IntelliJ 2017版本中将Corda从版本1升级到版本3.1。我面临的问题是collection的属性不能为空

private var valueContractTransactionsVO = Collection<ValueContractTransactionVO>

我正在尝试为一个空集合类型的VO类创建一个对象,如上所述,但是它抛出错误“接口集合没有构造函数”,并且每当我尝试调用该对象时,它都会抛出错误“无法解析的引用”。

请帮助我为空集合创建一个不为null的对象。

1 个答案:

答案 0 :(得分:2)

如果您需要一个空的只读集合,则可以调用emptyList函数:

var valueContractTransactionsVO: Collection<ValueContractTransactionVO> = emptyList()

如果valueContractTransactionsVOCollection的类型对于您的情况而言并不重要,则可以指定emptyList函数的type参数,并让编译器将其类型推断为List<ValueContractTransactionVO>

var valueContractTransactionsVO = emptyList<ValueContractTransactionVO>()