본문 바로가기
안드로이드

[Android] String 배열 초기화

by 코딩히어로 2022. 8. 4.
728x90

1


Java String 배열을 사용할 때 초기화하는 방법은 여러 가지가 있습니다

그중에서 초기값을 정해주거나 따로 할당하지 않는방식이 있는데

이번 포스팅에서는 이러한 방법이 아니라 한번에 같은 초기값으로 초기화하는 방법에 대해 알아보겠습니다

 

 

String 배열 초기화


먼저 기존의 초기화 하는 방법은 다음과 같이 가능합니다

String[] Jarr;
Jarr = new String[5];

위의 방법으로 배열을 생성하면 인자가 5개인 배열이 생성되지만

초기 인자값은 null로 채워지게 됩니다

{null, null, null, null, null}

 

String[] Jarr = {"ABC", "DEF", "CCC"};

다른 방법으로는 인자의 개수는 명시적으로 표현하지 않으면서

인자를 명시함으로써 배열을 초기화 하는 방법입니다

{"ABC", "DEF", "CCC"}

만약 인자의 값이 모두 다르게 초기화되어야 할 경우에는 해당 방법을 이용하면 됩니다

하지만 다음과 같이 인자가 같은데 크기는 100인 배열을 생성할 경우에 어떻게 해야 할까요

{"AAA","AAA","AAA"...."AAA}

100개의 인자를 다 넣어줄 수 있겠지만 굉장한 낭비라고 생각이 됩니다

C언어의 경우에는 첫 인자 값만 넣어주는 방식으로 같은 값을 초기화할 수 있었습니다

하지만 자바에서는 그런 구문은 지원되지 않습니다

 

 

배열을 채우는 fill 함수


자바에서는 배열을 채울 때 Arrays.fill을 이용합니다

예를 들어 크기가 100개인 배열에 AAA라는 문자열을 채운다고 하면 다음과 같이 사용합니다

String[] Jarr = new String[100];
Arrays.fill(Jarr,"AAA");

정말 간단하지 않나요??

제가 String 문자열을 사용할 때 항상 문제가 되는 부분이 인자가 비어있기 때문에

View 객체와 호환을 할 때 null 에러로 어플이 튕기는 문제가 많이 발생합니다

 

해당 문제를 방지하기 위해서 다음과 같이 초기화를 하고 사용하면 에러를 사전에 방지할 수 있습니다

String[] Jarr = new String[100];
Arrays.fill(Jarr,"");
728x90
반응형

댓글