• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

sealed class 관련 code 내 when 에서 오류가 발생합니다

23.08.28 12:25 작성 조회수 146

0

fun checkNumberS(obj :NumberS) {
when(obj) { // <<<<< 오류발생줄
is NumberS.SeOne -> {
println("ONE 입니다")
println(obj.a)
println(obj.b)
}
is NumberS.SeTwo -> {
println("TWO 입니다")
println(obj.a)
println(obj.b)
when(obj.a) {
1 -> println("1 입니다")
2 -> println("2 입니다")
3 -> println("3 입니다")
}
}
is NumberS.SeThr -> {
println("THREE 입니다")
println(obj.a)
println(obj.b)
}
}
}

sealed class NumberS {
class SeOne(val a:Int, val b: Int) : NumberS()
class SeTwo(val a:Int, val b: String) : NumberS()
class SeThr(val a:Int, val b: Double) : NumberS()
class SeFou(val a:Int) : NumberS() {
fun sealedFun () {

}
}
}

fun main() {
val c1 = NumberS.SeOne(1, 3)
checkNumberS(c1) // ONE 입니다 1 3
val c2 = NumberS.SeTwo(3, "sealed class")
checkNumberS(c2) // TWO 입니다 3 sealed class 3 입니다
val c3 = NumberS.SeThr(5, 3.1415)
checkNumberS(c3) // THREE 입니다 5 3.1415
}

답변 2

·

답변을 작성해보세요.

0

오류메시지를 올려주시기 바랍니다ㅏ\

0

shafeel2님의 프로필

shafeel2

질문자

2023.08.28

when() { } 부분에서의 오류는 어떻게 해결해야 하는지 궁금합니다