hoon's bLog

Kotlin 비교와 동등성 본문

IT/Kotlin

Kotlin 비교와 동등성

개발한기발자 2023. 9. 14. 09:18
반응형


비교연산자

== : 같다.
!= : 같지 않다.
<  : ~ 보다 작다
<= : ~ 보다 작거나 같다.
>  : ~ 보다 크다
>= : ~ 보다 크거나 같다.
val a = 1 // Int
val b = 2L //Long
println( a == b ) // Error : comparing Int and long
println(a.toLong() == b) // Ok : 두 타입 모두 Long 임
  • 코틀린 타입은 두 인자가 모두 같은 타입일 때만 == 와 != 를 허용!
  • 한 인자는 Int 이고 한 인자는 Long이면 ==를 적용할 수 없다.
  • 하지만 모든 수 타입의 값은 서로 <, <=, >, >= 를 사용해 비교 가능!

Char, Boolean값의 비교연산 지원

false == true // false
false < true // true
false > 1 // Error : comparing Boolean and Int
'a' < 'b' // true
'a' > 0 // Error : comparing Int and Char
  • Char, Boolean값도 비교 연산을 지원한다. 하지만 같은 타입의 값만 비교할 수 있다.
  • false 가 true 보다 작다고 가정하고, Char는 문자의 코드 값에 따라 비교 된다.

부동소수점의 NaN값 비교

  • 부동소수점은 NaN값을 특별 취급한다.
  • 기본적으로 NaN은 그 어떤 값과도 같지 않다.
  • 특히 다른 NaN과도 같지 않고, 무한대를 포함한 다른 어떤 값보다 작지도 않고 크지도 않다.
  • 컴파일러가 부동 소수점 타입이라는 사실을 알 때만 적용된다.
println(Double.NaN == Double.NaN ) // false
println(Double.NaN != Double.NaN ) // true
println(Double.NaN <= Double.NaN ) // false
println(Double.NaN < Double.POSITIVE_INFINITY ) // false
println(Double.NaN > Double.NEGATIVE_INFINITY ) // false

언제나 새로운 정보 공유와 잘못된 정보

비판/지적/태클은 환영입니다!

도움이 되셨다면 공감♥️, 댓글 부탁드려요:)

끝.

Reference

https://wikidocs.net/173871

 

2.2.8 비교와 동등성

모든 타입은 몇가지 비교 연산을 제공한다. ### 비교연산자 ``` == : 같다. != : 같지 않다. < : ~ 보다 작다 <= : ~ 보다 작거나 같다. > : ~ 보다 크다 >= : ~보다 크거나 같다. ``` ##…

wikidocs.net

 

728x90
반응형