我希望从MSetting的列表中得到一个name数组,目前我使用 Code A 来做,但是太复杂了,有没有简单的方法来做?
代码 A
fun getName(aList:List<MSetting>): Array<CharSequence>{
if (aList.isEmpty()){
return emptyArray<CharSequence>()
}else{
var aa=Array<CharSequence>(aList.size,{""})
for (index in aList.indices){
aa[index]=aList[index].name
}
return aa
}
}
Run Code Online (Sandbox Code Playgroud)
数据
data class MSetting (
var _id: Long,
var name: String,
var createdDate: Long,
var description: String
)
Run Code Online (Sandbox Code Playgroud)
zsm*_*b13 10
这里的解决方案是使用map然后toTypedArray:
fun getName(aList: List<MSetting>): Array<CharSequence> {
return aList.map { it.name }.toTypedArray()
}
Run Code Online (Sandbox Code Playgroud)
使用map运算符
var names = msettings.map { it -> it.name}
Run Code Online (Sandbox Code Playgroud)
names是一个列表内容的所有值namefrommsettings
希望这可以帮助
| 归档时间: |
|
| 查看次数: |
2042 次 |
| 最近记录: |