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