검색결과 리스트
componentN()에 해당되는 글 1건
- 2020.09.14 [Kotlin] DataClass
글
[Kotlin] DataClass
Android (Kotlin)
2020. 9. 14. 22:29
1. 데이터 클래스 기능
equals()
hashCode()
toString()
componentN()
copy()
data class Book(
var name: String,
var authorName: String = "dudu",
var lastModified: Long = 1234567,
var rating: Float = 5f,
var downloads: Int = 1000
)
fun main(args: Array<String>) {
var book = Book("Android tutorials","Hup..", 1234567, 4.5f, 1000)
book = Book("Kotlin")
book = Book("Swift",downloads = 500)
book = Book("Java","zzz",rating = 5f, downloads = 1000)
book = Book("Python","YYY",rating = 5f)
println(book.toString())
val newBook = book.copy(name = "iOS dev")
println("Hashcode is ${newBook.hashCode()}")
if(!newBook.equals(book))
println("newBook and book are NOT equal")
println(book.component1()) //Python
println(book.component2()) //YYY
println(book.component3()) //1234567
println(book.component4()) //5f
println(book.component5()) //1000
}
// 변수 이름을 사용하면 원하는 값만 선택적으로 입력 가능 하다.
// toString()함수는 클래스의 값을 출력 한다.
// copy() 는 원하는 값만 변경하여 새로운 val 객채를 만들 수 있다.
// hashCode() 헤시코드를 반환 함.
// equals() " == " 과 같음.
// omponent(n) 생성자에 명시된 순서(n)에 맞는 개체로 접근
2. Destructuring
data class Book(val name: String, val authorName: String = "kaka", val lastModified: Long = 1234567, val rating: Float = 5f, val downloads: Int = 1000)
val book = Book("Android tutorials","dudu", 1234567, 4.5f, 1000)
val (n,a,date,rating,downloads) = book
==>
n = "Android tutorials"
a = "dudu"
date = 1234566
rating = 4.5f
downloads = 1000
equals()
hashCode()
toString()
componentN()
copy()
'Android (Kotlin)' 카테고리의 다른 글
[안드로이드] TTS (TextToSpeech) 예제 (0) | 2020.10.11 |
---|---|
[Kotlin] 클래스 정리 (0) | 2020.09.13 |
[Kotlin] 제어문 for , forEach , range , repeat , when (0) | 2020.09.13 |
[Kotlin] let 과 also , Elvis 연산자 와 Null 값 필터링 (0) | 2020.09.13 |
[Kotlin] Array 배열 (0) | 2020.09.13 |