Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 라이브데이터 postValue
- 토글 험수
- compse collectAsState
- 안드로이드스튜디오 jdk
- json 저장
- 1회용 플라스틱컵
- var 와 val
- 안드로이드 스튜디오 애뮬레이터
- livedata
- Room 데이터베이스 업데이트
- 일회용 플라스틱
- TowmonUSB 연결오류
- 코루틴 job
- withContext
- 스레드 #코루틴
- 안드로이드 mvvm
- 1회용컵
- viewmodelscope
- bluetoothmanager
- 코틀린 트리거 버튼
- 안드로이드 sms
- TwomonUSB
- #큐구조 #큐다운로드
- 셀룰로오스-g-폴리락타이드 공중합체
- 생분해성 플라스틱
- 안드로이드 비콘
- compse state
- 코틀린 이미지저장 #파일저장
- apk이름변경
- 플라스틱 생분해
Archives
- Today
- Total
EnjoyLife
(가변)mutableList 타입으로 초기화 할때 반드시 val 변수에 담자 본문
val numbers = listOf(1,2,3) 와 val numbers = mutableListOf(1,2,3) 에서 val 의 쓰임새가 완전히 다르다.
1) numbers 에 mutableListOf 객체생성을 하고 또 아래처럼 객체를 생성하거나
numbers = mutableListOf(5,7,23,44)
2) 다른 변수의 주소를 참조하게 하면 오류를 발생시킨다.
val murisu = mutableListOf(1,2,3)
numbers = murisu
즉 자바개념으로 설명하면 new로 생성후 다시 new 생성만 하지 않으면 된다.
그리고 참조주소를 변경하면 안된다.
아래처럼 같은주소안에 값을 수백번, 수천번 변경해도 상관없다.
아주 중요한 개념이다.
number[0] = 4
number[1] = 24
number[2] = 58
fun main() {
// val로 선언된 리스트 변수, 상자라고 생각해보자
val numbers = mutableListOf(1, 2, 3)
// 리스트 자체를 다른 리스트로 바꾸려면 안 돼
// numbers = mutableListOf(4, 5, 6) // 이건 안 돼! 오류가 발생해
// 리스트 안의 값은 바꿀 수 있어
numbers[0] = 4
numbers[1] = 5
numbers[2] = 6
// 리스트의 내용물을 출력해보자
println(numbers) // [4, 5, 6]
// 새로운 리스트를 만들어보자
val newNumbers = mutableListOf(7, 8, 9)
// 원래 리스트(numbers)를 새로운 리스트(newNumbers)로 바꾸려면 안 돼
// numbers = newNumbers // 이건 안 돼! 오류가 발생해
}
'안드로이드 개발 > 개발팁' 카테고리의 다른 글
헷갈리는 토글 코드 (0) | 2024.06.30 |
---|---|
퍼센트인코딩 적용 (0) | 2024.06.21 |
이미지를 내부 저장소에 저장하는 함수 (0) | 2024.05.01 |
LiveData 의 변수는 언제 posVaue 와 value 을 골라서 써야될까? (0) | 2024.04.19 |
코루틴의 withContext(Dispatchers.Main) 사용하는 이유 (0) | 2024.04.17 |