Kotlin Android中如何将String数组转换为Int数组
解决String数组转Int数组的问题
直接用mapNotNull结合toIntOrNull就能安全地把String列表转成Int数组,同时过滤无效输入(比如空格、非数字内容),避免程序崩溃。
修改后的完整代码:
private fun array() { val ed = findViewById<EditText>(R.id.et_addNum) // 直接指定EditText类型,无需强转 val text = ed.text.toString() // 分割后处理空格、转换为Int并过滤无效值 val intArray: IntArray = text.split(",") .map { it.trim() } .mapNotNull { it.toIntOrNull() } .toIntArray() // 打印转换后的Int元素 intArray.forEach { element -> Log.e("Int elements", element.toString()) } // 将Int数组转为友好格式的字符串显示 storednumber.setText(intArray.joinToString(", ")) }
关键细节说明:
trim():处理输入中逗号前后的空格(比如用户输入"1, 2,3"这类带空格的情况)toIntOrNull():若字符串不是合法数字则返回null,避免抛出NumberFormatExceptionmapNotNull():过滤所有无效的null值,只保留合法的Int元素joinToString(", "):把Int数组转成带逗号分隔的字符串,避免直接调用toString()显示[1,2,3]这类生硬格式
内容的提问来源于stack exchange,提问作者TevovoChin
相关产品推荐
相关产品推荐

