Написал код, но он выдаёт ошибку Exception in thread "main" java.lang.StackOverflowError
Ошибка:
Exception in thread "main" java.lang.StackOverflowError
at myClass.getIntArray (File.kt:4)
at myClass.getIntArray (File.kt:4)
at myClass.getIntArray (File.kt:4)
Код:
class myClass {
var intArray = arrayListOf(1, 2, 3, 4, 5, 6)
get() {
var Size = intArray.size
var Summ = 0
for(a in 0..Size) {
intArray.removeAt(a)
Summ += intArray[a]
}
intArray.add(Summ)
return intArray
}
}
fun main() {
var Array = myClass()
for(a in Array.intArray) {
println(a)
}
}
Ответы (1 шт):
Автор решения: Alex_Skvortsov
→ Ссылка
Вы возвращаете из геттера return intArray, что есть вызов геттера. То есть геттер бесконечно вызывает сам себя
Думаю, ожидалось от Вас нечто такое:
class myClass {
var intArray: List<Int> = arrayListOf(1, 2, 3, 4, 5, 6)
val arraySum: Int
get() = intArray.sum()
}