You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin中是否有类似joinToString的方法可提取列表内Int类型属性集合?

Kotlin自定义对象列表属性提取方案

你需要的能力可以通过Kotlin集合内置的map扩展函数实现,和你用到的joinToString一样,map内部已经封装了遍历逻辑,不需要手动编写循环代码。它会按照你传入的转换规则,将原集合的每个元素映射为新的元素,最终生成对应类型的新集合。
示例代码如下:

// 承接你给出的Person类定义和列表初始化逻辑
data class Person(val age: Int, val name: String)
val p1 = Person(23, "Smith")
val p2 = Person(41, "Bob")
val p3 = Person(16, "Scott")
val li = listOf(p1, p2, p3)

// 提取所有age属性,生成Int类型的List
val ageList: List<Int> = li.map { it.age }

// 验证输出
println(ageList)
// 输出结果:[23, 41, 16]

你还可以根据场景搭配其他集合函数使用:

  • 如果要过滤掉属性为空的无效值,可以改用mapNotNull方法,避免空值进入新集合
  • 如果需要提取属性后直接去重,可以搭配distinct()方法,写法为li.map { it.age }.distinct()
  • 如果需要将结果转为可变集合,可以用mapTo方法指定目标可变集合对象

内容的提问来源于stack exchange,提问作者love Croquembouch

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 17:15:02