gpt4 book ai didi

Kotlin 多类数据存储

转载 作者:行者123 更新时间:2023-12-02 13:08:38 25 4
gpt4 key购买 nike

我正在开发一个简单的 Android 应用程序,它将显示车辆的图标,用户可以单击该图标以显示车辆信息。我想在构建应用程序时动态加载数据,即数据将来自外部源,包括图标的图片。

我是 Kotlin 的新手,不知道要搜索什么来了解合适的解决方案。定义数据的正确方法是什么,最好如下创建一个类,然后创建一个类的数组(不确定这是否可能)

public class VehicleSpec()
{
var OEM: String? = null
var ModelName: String? = null
var EngineSize: String? = null
}

还是创建一个多维数组然后将数据链接到单元格会更好?
var VehicleSpec = arrayOf(20,20)
VehicleSpec[0][0] = Null //OEM
VehicleSpec[0][1] = Null //ModelName
VehicleSpec[0][2] = Null //EngineSize

设置数据存储的最佳方法是什么,是否有任何好的引用资料可以了解如何设置?

最佳答案

What is the correct way to define the data, is it best to create an class as below then create an array of the class



使用数组作为对象的属性并没有充分利用 Kotlin(甚至 Java)中的类型安全性。
如果你要表达的是一个对象的多个属性,那么你应该使用 类(class) 定义这些属性。如果属性具有不同的类型,则尤其如此。

数组和类之间没有性能差异,因为在这两种情况下您都会获得对堆的引用。只有将多维数组方法转换为具有智能索引的单维数组,才能节省性能。大多数情况下,除非您处理大量数据并且知道性能在此特定级别上是一个问题,否则您不应考虑此选项。

(not sure if this is possible)



定义类的列表/数组绝对是可能的。

通常,对于仅用作数据容器的类,您应该首选 data classes ,因为它们免费为您提供有用的方法,并且这些方法对于您的情况(等于、哈希码、组件访问等)这样的简单“数据包”完全有意义。
data class Vehicle(
val OEM: String,
val ModelName: String,
val EngineSize: String
)

另外,我建议使用 val而不是 var越多越好。不变性在 Kotlin 中更为惯用。

最后但并非最不重要的一点是,如果您知道必须始终存在值,则更喜欢非空值而不是空值。如果存在该值不存在的有效情况,则应使用 null 而不是空字符串或 -1 等占位符值。

关于Kotlin 多类数据存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55819584/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com