fun main() {
data class seriesData(
var seriesName: String = "",
var bookListEntries: MutableList<Int> = arrayListOf() {}
var mySeriesData: MutableList<seriesData> = ArrayList()
for (i in 0..5) {
var myString: String = "series" + i.toString()
mySeriesData.add(seriesData(seriesName = myString,
bookListEntries = ArrayList()))
}
// I want to find an occurrence of one of the strings
println(mySeriesData.seriesName.indexOf("series2"))
// The last statement always gives me unresolved reference on seriesName
}
我已经尝试了上述的几种变体,包括使用虚拟键将两个变量放在数据类的主体中并使用“它”。没有成功。我是科特林的新手。我知道上面的一些代码可以精简,但我把它拆开来帮助理清步骤。
此函数索引为您提供整个数据类,而不是数据类下的单个值
例如
如果你有以下数据类
data class seriesData(
var seriesName: String = "",
var bookListEntries: MutableList<Int> = arrayListOf(),
)
你在这个数据类上运行循环来填充数据类下的变量值
val mySeriesData: MutableList<seriesData> = ArrayList()
for (i in 0 .. 5) {
var myString: String = "series" + i.toString()
mySeriesData.add(
seriesData(
seriesName = myString,
bookListEntries = ArrayList()
)
)
}
现在您想知道哪个是
"series2"
值的索引
然后你需要一个完整的数据类
在 indexOf 函数中,您需要像这样传递整个数据类:
mySeriesData.indexOf(seriesData("series3", ArrayList()))