首先,我在伴生对象中创建空的 Array(Kotlin) 实例。
companion object {
var strarray: Array<String> = arrayOf()
var objectarray: LinkedHashMap<Int, List<Any>> = LinkedHashMap<Int, List<Any>>()
}
Run Code Online (Sandbox Code Playgroud)
我希望在从 CSV 文件读取 textString 时使用空数组实例。
fun csvFileToString():String {
val inputStream = File(Paths.get("").toAbsolutePath().toString()
.plus("/src/main/SampleCSVFile_2kb.csv")).inputStream()
val reader = inputStream.bufferedReader()
var iterator = reader.lineSequence().iterator()
var index:Int = 1;
while (iterator.hasNext()){
var lineText:String = iterator.next()
strarray.set(index, lineText)
index++
}
return ""
}
Run Code Online (Sandbox Code Playgroud)
但是当我运行该源代码时
a.csvFileToString()
println(CsvParser.strarray)
Run Code Online (Sandbox Code Playgroud)
发生异常
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
strarray.set(index, lineText) <<<<<<<<< because of this line
Run Code Online (Sandbox Code Playgroud)
我可以像 ArrayList(来自 java 集合)一样使用 Array(来自 kotlin 集合)吗?
小智 5
您可以使用 将新项目添加到数组中+=,例如:item += item
private var songs: Array<String> = arrayOf()
fun add(input: String) {
songs += input
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7121 次 |
| 最近记录: |