【问题标题】:Kotlin how to save each line into Class Objects?Kotlin如何将每一行保存到类对象中?
【发布时间】:2020-03-20 10:03:12
【问题描述】:

我从 API 收到列表。我按行划分它。我不确定如何将每一行保存到类对象中?你可以帮帮我吗? [在此处输入图片说明][1]

class RecordsList {


    @RequestMapping("/")
    fun receiveAll(): List<String>? {
        val restTemplate = RestTemplate()
        val url = "some URL // doesn't matter"
        val response = restTemplate.getForObject(url, String::class.java)

        var lines = response?.lines()
        lines?.forEach { line -> println(line)}
        return lines
    }
}

data class Record(var domain: String, var code: String, var link: String, var other: String)

【问题讨论】:

  • 我也错过了在这篇文章中为我的 RecordsList 类添加@RestController。对不起

标签: spring-boot class object kotlin resttemplate


【解决方案1】:

您应该创建一个变量来存储记录的arrayList。

class RecordsList {


@RequestMapping("/")
fun receiveAll(): ArrayList<Record>? {

    // ArrayList to store the `Record`s
    var arrayListOfRecord: ArrayList<Record>? = arrayListOf()

    val restTemplate = RestTemplate()
    val url = "some URL // doesn't matter"
    val response = restTemplate.getForObject(url, String::class.java)

    var lines = response?.lines()

    // For each line in the response create a Record object and add it to the 
    // `arrayListOfRecord`s
    lines?.forEach { line -> 
        arrayListOfRecord?.add(
            Record(
                domain = line.domain,
                code = line.code,
                link = line.link,
                other = line.other
            )
        )
    }
    return arrayListOfRecord 
    }
}

data class Record(var domain: String, var code: String, var link: String, var other: String)

【讨论】:

  • 有效!!!非常感谢!也许您可以帮助我如何为每一行的记录字段赋值?例如行包含值的字符串
  • 为什么结果可以为空,而它从不返回空值?
  • 正确,可以改成!!
  • 我使用了来自 OP 的方法签名,因为它最初返回一个可为空的列表 List&lt;String&gt;?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-09
  • 1970-01-01
  • 2011-05-17
  • 2021-11-28
  • 1970-01-01
  • 2021-01-23
相关资源
最近更新 更多