본문 바로가기

kotlin21

[kotlin] Smart cast to 'Type' is impossible, because 'xxx' is a mutable property that could have been changed by this time. data class People(var name: String) // name이 변경될 수 있는 var people: Peopleval names: MutableList = mutableListOf()people.name?.let { names.add(people.name) // error}Colored by Color Scriptercs 변경될 수 있는 var 타입을 다른 변수에 대입하려고 할 때 에러가 발생한다. Smart cast to 'List' is impossible, because 'people.name' is a mutable property that could have been changed by this time.cs 에러를 읽어보면 people.name이 변경될 수 있는 mutable.. 2019. 1. 19.
[Kotlin] Default argument (디폴트 매개변수) 문자열 a, b를 입력받아 두 문자열을 합치는 함수로 예를 들어보자.만약 a, b를 입력하지 않는 경우 각각 "a", "b" 문자열로 대체된다고 하자. 123456789101112// javaString getString(String a, String b){ return a+b;} String getString(String a){ return getString(a + "b");} String getString(){ return getString("a" + "b");}Colored by Color ScriptercsJAVA에서는 default argument 를 지원하지 않아서 오버로딩 시 위와 같이 함수를 다 만들어줘야 한다. 12/* kotlin */fun getString(a:String = "a",.. 2019. 1. 6.
[Kotlin] List, MutableList Kotlin은 변경 가능한 리스트와 변경 불가능한 리스트를 구분한다. 위와 같이 List 자료형을 쓰는 경우 add 함수를 사용할 수 없다.add 함수를 사용하는 경우 "Unresolved reference: add" 에러를 뱉는다. 변경이 가능한 리스트를 만드려면 MutableList를 사용해야 한다.MutableList는 add 함수를 제공한다. 참고 : Collections: List, Set, Map 2018. 12. 31.