2019-11-09
sortBy
메서드는 in-place sort이며 대상 어레이를 mutate해서 리턴한다. (mutableList에 사용해야 함)
반면 sortedBy
메서드는 새로운 어레이를 반환한다.
kotlin에선 setText()
처럼 getter/setter 패턴의 메서드를 사용하면 warning이 뜬다.
내용은 Use of setter method instead of property access syntax
이며
Java의 get과 set을 Kotlin synthetic properties로 교체할 수 있을 때 뜬다고 부연 설명을 확인할 수 있다.
synthetic property는 Kotlin Android Extensions Plugin의 일부분인 듯 하다.
Kotlin Android Extensions Plugin
import kotlinx.android.synthetic.main.activity_main.*
이 한줄로 xml의 모든 요소들을 가져올 수 있고, Java에서 사용하던 findViewById()
없이 요소들(View)를 참조할 수 있다. (View Binding)
게다가 위에 언급한 getter/setter 패턴을 대체할 수 있는데,
appCompatTextView.setText("blablah..") // 이것보다는
appCompatTextView.text = "blablah.." // 이렇게 쓰면 된다
위와 같은 방식으로 뷰 xml에 정의된 attribute들을 조작할 수 있다.
(get의 경우 당연히 property에 할당이 따라오지 않는다면 호출?된다)