hugDog
Android DevLog
hugDog
전체 방문자
였늘
μ–΄μ œ
  • πŸ™Œ Hello? (162)
    • πŸ§©μ•ˆλ“œλ‘œμ΄λ“œ (12)
      • κ°œλ… 정리 (5)
      • 버그 ν•΄κ²° (4)
      • 기타 (3)
    • πŸ”μ•Œκ³ λ¦¬μ¦˜ (54)
      • κ°œλ… (0)
      • λ°±μ€€ (48)
      • ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ (6)
    • πŸ“„κ°œλ°œ 일지 (0)
      • FINPO (0)
    • πŸ”€ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄ (71)
      • C++ 정리 (49)
      • C++κΈ°μ΄ˆν”ŒλŸ¬μŠ€ μ—°μŠ΅λ¬Έμ œ (20)
      • Kotlin (2)
    • ⭐Project (1)
    • 🚴TIL (13)
      • Clean Code (13)
    • πŸš©κΈ°νƒ€ (9)
      • λͺ©ν‘œ (6)
      • 일상 (3)
      • λ¬Έμ„œ (0)

인기 κΈ€

졜근 λŒ“κΈ€

졜근 κΈ€

ν‹°μŠ€ν† λ¦¬

hELLO Β· Designed By μ •μƒμš°.
hugDog

Android DevLog

πŸ”€ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄/Kotlin

[Kotlin/μ½”ν‹€λ¦°] νƒ€μž… 체크, μžλ™ ν˜•λ³€ν™˜ (Type checks and automatic casts)

2022. 4. 8. 22:51
728x90

is

is μ—°μ‚°μžλ₯Ό 톡해 νƒ€μž… 체크λ₯Ό ν•  수 μžˆλ‹€.

λ˜ν•œ immutable 둜컬 λ³€μˆ˜(val)μ΄κ±°λ‚˜ propertyκ°€ μ–΄λ–€ νƒ€μž…μΈμ§€ ν™•μΈλ˜μ—ˆλ‹€λ©΄ μžλ™μœΌλ‘œ ν˜• λ³€ν™˜μ΄ 이뀄진닀.

 

μ˜ˆμ‹œ 1

fun getStringLength(obj: Any): Int? {
    if (obj is String) {
    	// 'obj' κ°€ String νƒ€μž…μž„μ΄ 확인됨.
        // `obj` λ₯Ό String νƒ€μž…μœΌλ‘œ μžλ™ ν˜•λ³€ν™˜
        return obj.length
    }

    // `obj` κ°€ String νƒ€μž…μ΄ μ•„λ‹ˆλΌλ©΄ μ—¬μ „νžˆ Any νƒ€μž…
    return null
}

 

 

μ˜ˆμ‹œ 2

!isκ³Ό 같은 ν˜•νƒœλ‘œλ„ μ‚¬μš© κ°€λŠ₯ν•˜λ‹€.

fun getStringLength(obj: Any): Int? {
    if (obj !is String) return null

    // `obj` κ°€ μžλ™μœΌλ‘œ String으둜 ν˜•λ³€ν™˜
    return obj.length
}

 

μ˜ˆμ‹œ 3

fun getStringLength(obj: Any): Int? {
    // 였λ₯Έμͺ½μ—μ„œ `obj`κ°€ String으둜 ν˜•λ³€ν™˜ 된 ν›„ μ™Όμͺ½ μ‹€ν–‰.
    if (obj is String && obj.length > 0) {
        return obj.length
    }

    return null
}

 

 

레퍼런슀

https://kotlinlang.org/docs/basic-syntax.html#type-checks-and-automatic-casts

 

Basic syntax | Kotlin

 

kotlinlang.org

 

728x90
μ €μž‘μžν‘œμ‹œ λΉ„μ˜λ¦¬
    'πŸ”€ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄/Kotlin' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
    • [Kotlin/μ½”ν‹€λ¦°] Infix ν•¨μˆ˜ (Infix notation)
    hugDog
    hugDog
    μ•ˆλ“œλ‘œμ΄λ“œ 곡뢀 쀑인 ν•™μƒμž…λ‹ˆλ‹€!

    ν‹°μŠ€ν† λ¦¬νˆ΄λ°”