Kotlin 获取函数。应该很简单,但我不知道如何。任何援助将不胜感激
Kotlin get function. Should be simple but I don't know how. Any assistance would be appreciated
美好的一天。所以我来自 java,现在正在做 kotlin。我想要的很简单,但我似乎做不对。
var j: Int = 4
for (i in 0 until movieList.size) {
sum += movieList.get(i)(j)
//Answer from @lukas.j - It was as simple as sum += movieList[i].Weight
}
我第一次尝试没有 .get,然后我发现它不明白我在说什么,所以 google 告诉我使用 .get。
如果有人可以告诉我如何解决,这可能是一个简单的修复。该数组是一个二维数组列表。
I tried a suggestion and this error shows.
Another example of a different attempt with a different error.
添加我的阵列:
val movieList = ArrayList<MovieModel>().apply {
add(MovieModel(190617, 182832, "Jcorp", 100,"Delivery done", "Delivery not done",""))
add(MovieModel(190617, 182833, "Honda", 100,"No exceptions", "Exceptions",""))
add(MovieModel(190617, 182832, "Everflu", 100,"100%", "50%",""))
add(MovieModel(190617, 182832, "Panado", 100,"OK", "NO",""))
add(MovieModel(190617, 182832, "Gheiters", 100,"Success", "Failed",""))
add(MovieModel(190617, 182832, "John", 100,"Yes", "No",""))
add(MovieModel(190617, 182832, "Everflu", 100,"false", "false",""))
add(MovieModel(190617, 182832, "Everflu", 100,"false", "false",""))
add(MovieModel(190617, 182832, "Everflu", 100,"false", "false",""))
add(MovieModel(9190617, 182832, "Everflu", 100,"false", "false",""))
add(MovieModel(190617, 182832, "Everflu", 100,"false", "false",""))
add(MovieModel(190617, 182832, "Everflu", 100,"false", "false",""))
add(MovieModel(190617, 182832, "Everflu", 100,"false", "false",""))
add(MovieModel(190617, 182832, "Everflu", 100,"false", "false",""))
add(MovieModel(190617, 182832, "Everflu", 100,"false", "false",""))
add(MovieModel(190617, 182832, "Everflu", 100,"false", "false",""))
add(MovieModel(190617, 182832, "Everflu", 100,"false", "false",""))
add(MovieModel(190617, 182832, "Everflu", 100,"false", "false",""))
add(MovieModel(190617, 182832, "Everflu", 100,"false", "false",""))
add(MovieModel(10, 182832, "Everflu", 100,"false", "false",""))
add(MovieModel(10, 182832, "2010", 100,"false", "false",""))
add(MovieModel(10, 182832, "2010", 100,"false", "false",""))
add(MovieModel(10, 182832, "2010", 100,"false", "false",""))
add(MovieModel(10, 182832, "2010", 100,"false", "false",""))
add(MovieModel(10, 182832, "2010", 100,"false", "false",""))
add(MovieModel(10, 182832, "2010", 100,"false", "false",""))
add(MovieModel(10, 182832, "2010", 100,"false", "false",""))
}
电影模特:
package com.dispatch.tripsheet
class MovieModel(
var WOrder: Int,
var DElNote: Int,
var Company: String,
var Weight: Int,
var Button1: String,
var Button2: String,
var tvdone: String
)
您要查找的语法是(参见 Indexed access operator):
movieList[i][j]
或者,您可以使用 get
语法:
movieList.get(i).get(j)
然而,这感觉过于冗长。
我建议使用数据 class 而不是 class:
data class MovieModel(
var WOrder: Int,
var DElNote: Int,
var Company: String,
var Weight: Int,
var Button1: String,
var Button2: String,
var tvdone: String
)
可以使用 listOf:
创建列表
val movieList = listOf(
MovieModel(190617, 182832, "Jcorp", 100, "Delivery done", "Delivery not done", ""),
MovieModel(190617, 182833, "Honda", 100, "No exceptions", "Exceptions", ""),
MovieModel(190617, 182832, "Jcorp", 100, "Delivery done", "Delivery not done", "")
)
您可以像这样获取和设置权重:
val movie = movieList[0]
println(movie.Weight) // Output: 100
movie.Weight = 125
println(movie.Weight) // Output: 125
美好的一天。所以我来自 java,现在正在做 kotlin。我想要的很简单,但我似乎做不对。
var j: Int = 4
for (i in 0 until movieList.size) {
sum += movieList.get(i)(j)
//Answer from @lukas.j - It was as simple as sum += movieList[i].Weight
}
我第一次尝试没有 .get,然后我发现它不明白我在说什么,所以 google 告诉我使用 .get。
如果有人可以告诉我如何解决,这可能是一个简单的修复。该数组是一个二维数组列表。
I tried a suggestion and this error shows.
Another example of a different attempt with a different error.
添加我的阵列:
val movieList = ArrayList<MovieModel>().apply {
add(MovieModel(190617, 182832, "Jcorp", 100,"Delivery done", "Delivery not done",""))
add(MovieModel(190617, 182833, "Honda", 100,"No exceptions", "Exceptions",""))
add(MovieModel(190617, 182832, "Everflu", 100,"100%", "50%",""))
add(MovieModel(190617, 182832, "Panado", 100,"OK", "NO",""))
add(MovieModel(190617, 182832, "Gheiters", 100,"Success", "Failed",""))
add(MovieModel(190617, 182832, "John", 100,"Yes", "No",""))
add(MovieModel(190617, 182832, "Everflu", 100,"false", "false",""))
add(MovieModel(190617, 182832, "Everflu", 100,"false", "false",""))
add(MovieModel(190617, 182832, "Everflu", 100,"false", "false",""))
add(MovieModel(9190617, 182832, "Everflu", 100,"false", "false",""))
add(MovieModel(190617, 182832, "Everflu", 100,"false", "false",""))
add(MovieModel(190617, 182832, "Everflu", 100,"false", "false",""))
add(MovieModel(190617, 182832, "Everflu", 100,"false", "false",""))
add(MovieModel(190617, 182832, "Everflu", 100,"false", "false",""))
add(MovieModel(190617, 182832, "Everflu", 100,"false", "false",""))
add(MovieModel(190617, 182832, "Everflu", 100,"false", "false",""))
add(MovieModel(190617, 182832, "Everflu", 100,"false", "false",""))
add(MovieModel(190617, 182832, "Everflu", 100,"false", "false",""))
add(MovieModel(190617, 182832, "Everflu", 100,"false", "false",""))
add(MovieModel(10, 182832, "Everflu", 100,"false", "false",""))
add(MovieModel(10, 182832, "2010", 100,"false", "false",""))
add(MovieModel(10, 182832, "2010", 100,"false", "false",""))
add(MovieModel(10, 182832, "2010", 100,"false", "false",""))
add(MovieModel(10, 182832, "2010", 100,"false", "false",""))
add(MovieModel(10, 182832, "2010", 100,"false", "false",""))
add(MovieModel(10, 182832, "2010", 100,"false", "false",""))
add(MovieModel(10, 182832, "2010", 100,"false", "false",""))
}
电影模特:
package com.dispatch.tripsheet
class MovieModel(
var WOrder: Int,
var DElNote: Int,
var Company: String,
var Weight: Int,
var Button1: String,
var Button2: String,
var tvdone: String
)
您要查找的语法是(参见 Indexed access operator):
movieList[i][j]
或者,您可以使用 get
语法:
movieList.get(i).get(j)
然而,这感觉过于冗长。
我建议使用数据 class 而不是 class:
data class MovieModel(
var WOrder: Int,
var DElNote: Int,
var Company: String,
var Weight: Int,
var Button1: String,
var Button2: String,
var tvdone: String
)
可以使用 listOf:
创建列表val movieList = listOf(
MovieModel(190617, 182832, "Jcorp", 100, "Delivery done", "Delivery not done", ""),
MovieModel(190617, 182833, "Honda", 100, "No exceptions", "Exceptions", ""),
MovieModel(190617, 182832, "Jcorp", 100, "Delivery done", "Delivery not done", "")
)
您可以像这样获取和设置权重:
val movie = movieList[0]
println(movie.Weight) // Output: 100
movie.Weight = 125
println(movie.Weight) // Output: 125