В чем разница между изменяемым и неизменным свойством коллекции в Котлине? - PullRequest
0 голосов
/ 28 августа 2018

Я обновляю Corda с версии 1 до версии 3.1 в версии IntelliJ 2017. Я сталкиваюсь с проблемой ненулевого свойства коллекции

private var valueContractTransactionsVO = Collection<ValueContractTransactionVO>

Я пытаюсь создать объект для класса VO пустого типа коллекции, как я уже упоминал выше, но выдает ошибку «У коллекции интерфейса нет конструкторов», и всякий раз, когда я пытаюсь вызвать этот объект, он выбрасывает ошибка "Неразрешенная ссылка".

Помогите, пожалуйста, создать объект для пустой коллекции без нуля.

1 Ответ

0 голосов
/ 29 августа 2018

Если вам нужна пустая коллекция только для чтения, вы можете вызвать функцию emptyList:

var valueContractTransactionsVO: Collection<ValueContractTransactionVO> = emptyList()

И если тип valueContractTransactionsVO, являющийся Collection, не имеет значения для вашего случая, вы можете указать аргумент типа функции emptyList и позволить компилятору выводить его тип на List<ValueContractTransactionVO>:

var valueContractTransactionsVO = emptyList<ValueContractTransactionVO>()
...