본문 바로가기

Android/Knowhow

배열 객체는 가급적 쓰지말자

List에 여러 문자열을 추가할 때,




배열 객체를 사용하면 안좋다. 다루기 어렵다.

(정확한 이유는 아직 모름. 이펙티브 자바에도 내용 없음)


1
2
3
4
5
6
7
8
9
        String[] categories = {
                getString(R.string.category_korea),
                getString(R.string.category_china),
                getString(R.string.category_japan)
        };
 
        List<String> list = new ArrayList<>();
        list.addAll(Arrays.asList(categories));
 
cs



List 객체로 만들어서 복사하거나 array xml을 이용하자.


1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="category_name">
        <item>@string/category_korea</item>
        <item>@string/category_china</item>
        <item>@string/category_japan</item>
    </string-array>
</resources>
cs

1
2
3
4
5
List<String> list = new ArrayList<>();
list.addAll(Arrays.asList(
                getResources()
                .getStringArray(R.array.category_name)
            ));
cs