기본 콘텐츠로 건너뛰기

라벨이 Any_type인 게시물 표시

[matplotlib]quiver()함수

코틀린의 자료형(2)

두 값의 비교  비교는 이중등호(==)와 삼중 등호(===)를 사용합니다. 이중등호(==): 값을 비교합니다. 삼중등호(===): 참조 주소를 비교합니다. 코틀린의 자료형은 기본적으로 참조형이며 Int, Double 등의 기본 자료형은 컴파일 단계에서 기본형을 전환됩니다. val a: Int = 128 val b: Int = 128 println(a == b)      true //위 두 객체의 값이 같으므로 true println(a === b)      true 컴파일 후 두 객체 a와 b는 기본형으로 전환되어 stack 메모리에 저장된다. 그러므로 그들의 저장위치는 같습니다. val a: Int = 128 val c: Int? = 128 println(a == c)      true println(a === c)      false 위의 두 객체 a, c의 자료형은 각각 Int과 nullable Int입니다. 컴파일 단계에서 Int는 기본형으로 전환되지만 nullable Int는 참조형으로 유지됩니다. 그러므로 Int는 stack 메모리에, nullable  Int는 heap에 저장됩니다. 즉, 둘의 참조주소는 다릅니다. 다음 코드는 참조형과 기본형의 구분을 위한 것입니다. fun main() {     val a: Double = 1e15     val b = a     println(a === b) // 자료형이 기본형인 int가 되어 값이 동일 true     val c: Double? = a     val d: Double? = a     val e: Double? = c     println(c == d) // 값의 내용만 비교하는...