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
}
我已经尝试了上面的几种变体,包括将两个变量放在数据类的主体中,并使用"it."没有成功。我是Kotlin的新手。我知道上面的一些代码可以简化,但是我把它们分开来帮助阐明步骤。
这个indexOf函数给出了整个数据类,而不是数据类下的单个值
例如
如果你有以下数据类
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()))
- 将上述行保存为一个变量,并给出该数据的索引