Kotlin有许多速记和有趣的功能。所以,我想知道是否有一些快速而快捷的方法将字符串数组转换为整数数组。与Python中的代码类似:
results = [int(i) for i in results]发布于 2017-08-23 00:54:09
您可以将.map { ... }与.toInt()或.toIntOrNull()一起使用
val result = strings.map { it.toInt() }只是结果不是一个数组,而是一个列表。在非性能关键型代码中,最好使用列表而不是数组,请参阅the differences。
如果需要数组,请添加.toTypedArray()或.toIntArray()。
发布于 2017-08-23 01:00:01
我会用一些简单的东西,比如
val strings = arrayOf("1", "2", "3")
val ints = ints.map { it.toInt() }.toTypedArray()或者,如果你喜欢扩展:
fun Array<String>.asInts() = this.map { it.toInt() }.toTypedArray()
strings.asInts()发布于 2017-08-23 01:31:20
如果您正在尝试转换实现RandomAccess的List结构(如ArrayList或Array),则可以使用此版本以获得更好的性能:
IntArray(strings.size) { strings[it].toInt() }此版本已编译为基本的for循环和int[]
int size = strings.size();
int[] result = new int[size];
int index = 0;
for(int newLength = result.length; index < newLength; ++index) {
String numberRaw = strings.get(index);
int parsedNumber = Integer.parseInt(numberRaw);
result[index] = parsedNumber;
}https://stackoverflow.com/questions/45823162
复制相似问题