如何在Kotlin中实现PureBasic的自定义结构列表创建与赋值功能
你提供的PureBasic代码逻辑是:先定义一个包含长整型value、字符串string两个字段的结构体TITLE,再创建一个元素为TITLE类型的可变列表,随后向列表中新增一个元素并为两个字段赋值。
在Kotlin中可以通过数据类+可变列表实现完全同等的效果,代码示例如下:
基础实现(属性只读)
如果不需要修改已创建元素的字段值,直接使用不可变属性的data class即可:
// 对应PureBasic的Structure TITLE定义 data class Title( val value: Long, val string: String ) fun main() { // 对应NewList mylist.TITLE(),创建存储Title类型的可变列表 val myList = mutableListOf<Title>() // 对应AddElement + 字段赋值操作 myList.add(Title(value = 0, string = "hello world")) }
可修改字段的实现
如果需要和PureBasic结构体一样支持后续修改元素的字段值,把数据类的属性声明为var即可:
// 字段可修改的结构体定义 data class Title( var value: Long, var string: String ) fun main() { val myList = mutableListOf<Title>() myList.add(Title(0, "hello world")) // 修改列表第一个元素的字段值,和PureBasic中修改mylist()\value逻辑一致 myList[0].value = 10 myList[0].string = "new content" }
补充说明:
- Kotlin的data class默认自动生成equals、hashCode、toString、copy等常用方法,不需要额外编写基础逻辑
mutableListOf默认返回的是ArrayList实现,支持增删改查、遍历等所有列表常用操作,完全可以覆盖PureBasic自定义列表的功能
内容的提问来源于stack exchange,提问作者user16298059
相关产品推荐
相关产品推荐

