본문 바로가기

프로그래밍/Kotlin52

동일성, 동등성 ( ==, ===, equal() 차이) 동일성 : 두개의 오브젝트가 주소값까지 똑같다 동등성 : 두개의 오브젝트가 주소값이 다르더라도 같은 값을 가지고있음 val a = String(StringBuilder("hello")) val b = String(StringBuilder("hello")) println(a == b) // true, 동등성, 값만 똑같고 저장된 주소는 다름 println(a === b) // false, 동일성, 주소까지 똑같음 println(a.equals(b)) // true, 동등성, 값만 똑같고 저장된 주소는 다름 위 코드에서 StringBuilder는 각 주소값을 다르게 하기위해 사용함 String 문자끼리 더할때는 "a" + "b"와같은 식으로 더하지만 이렇게 하면 메모리가 낭비 될수도 있다. StringBui.. 2021. 6. 22.
코틀린 에러 모음 1. 코루틴을 사용하려고 하는데 import kotlinx.* import kotlinx.coroutines.* import kotlinx.coroutines.flow.* 위 코드가 import가 안되서 unresolve 에러가 난다면 앱단의 build.gradle에서 plugins { id 'kotlin-android-extensions' } dependencies { implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.2' } 코드 추가 2. Minimum supported Gradle version is 6.7.1. Current version is 6.5. If using the gradle wrapper 에러 Git으로 프로젝트를.. 2021. 6. 9.
코틀린 문법 연습 빈 프로젝트를 새로 만든후 코틀린 File을 새로 만든후 문법을 입력하고 새로 만든 코틀린 File우클릭-Run파일명을 클릭 하면 AVD가 열리지 않고 문법 연습을 할수있다. 2021. 6. 9.
[Kotlin](Scope Function) let, with, run, apply, also 차이 및 use 코틀린에서 let, with, run, apply, also라는 확장 함수가 있다 다섯가지의 확장함수는 조금씩 사용법이 비슷하면서 다른데, 그 의미를 알아보자 data class Person(var name : String ,var age : Int) 해당 객체를 이용하여 알아보겠습니다. fun main(){ val person = Person("", 0) person.name = "Youngs" person.age = 20 println("$person") } 위 코드는 일반적인 사용법입니다. 실행시 아래와 같은 결과값이 나옵니다. 1. let fun T.let(block: (T) -> R): R // let의 형태 let은 블록의 마지막 값에 따라 let의 return값 형태가 같이 달라진다. fun.. 2021. 6. 7.