我想在 Kotlin 中改进此代码,似乎太多余了
.forEach和Lambda可以实现,但我不知道如何
有人可以帮忙吗?
val Point1 : List<Double> = topleft
.split(",")
.map {
it
.trim()
.toDouble()
}
val Point2 : List<Double> = topright
.split(",")
.map {
it
.trim()
.toDouble()
}
val Point3 : List<Double> = bottomright
.split(",")
.map {
it
.trim()
.toDouble()
}
val Point4 : List<Double> = bottomleft
.split(",")
.map {
it
.trim()
.toDouble()
}
最后,我想让拥有一个包含所有这些值的列表。
topleft,topright ...是类似42.1234,54.23423的字符串
(地理坐标)
最佳答案
您应该创建一个可以为每个列表重复的功能。像这样:
fun String.splitToDoubles() = split(",").map { it.trim().toDouble() }
val point1 = topleft.splitToDoubles()
val point2 = topright.splitToDoubles()
val point3 = bottomright.splitToDoubles()
val point4 = bottomleft.splitToDoubles()
请注意,Kotlin中的约定是
val
和var
以小写字母开头(point1
,而不是Point1
)。
关于kotlin - 如何提高此Kotlin代码的可读性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57506758/