1. 개요

Boolean은 Java의 기본 데이터 유형입니다. 일반적으로 true 또는 false 의 두 값만 가질 수 있습니다 .

이 사용방법(예제)에서는 부울 값 배열을 초기화하는 방법에 대해 설명합니다.

2. 문제 소개

문제는 매우 간단합니다. 간단히 말해서 동일한 기본값으로 부울 변수 배열을 초기화하려고 합니다.

그러나 Java에는 기본  부울  과  boxed  Boolean 이라는 두 가지 "다른" 부울 유형이 있습니다 . 따라서 이 사용방법(예제)에서는 두 가지 경우를 모두 다루고 booleanBoolean 배열을 초기화하는 방법을 설명합니다 .

또한 단순화를 위해 단위 테스트 어설션을 사용하여 배열 초기화가 예상대로 작동하는지 확인합니다.

다음으로 기본 부울 유형부터 시작하겠습니다.

3. 기본 부울 배열 초기화

Java에서 기본 변수에는 기본값이 있습니다. 예를 들어 기본 int 변수의 기본값은 0이고 기본 부울 변수는  기본적으로 false 를 유지합니다.

따라서 모두  false 로 부울 배열 을 초기화 하려면 값을 설정하지 않고 간단히 배열을 만들면 됩니다.

다음으로 이를 확인하기 위한 테스트를 작성해 보겠습니다.

boolean[] expected = { false, false, false, false, false };
boolean[] myArray = new boolean[5];
assertArrayEquals(expected, myArray);

위의 테스트를 실행하면 통과합니다. 보시다시피 boolean[] myArray = new boolean[5]; 부울 배열 에서 5개의 거짓 요소를  초기화 합니다.

값을 기준으로 두 배열을 비교 하려는 경우 assertEquals() 대신 assertArrayEquals() 메서드를 사용해야 한다는 점을 언급할 가치가 있습니다 . 이는 배열의 equals() 메서드가 두 배열의 참조가 동일한지 여부를 확인하기 때문입니다.

따라서 boolean 의 기본값 을 사용할 수 있으므로 기본 false 배열을 초기화하는 것은 쉽습니다. 그러나 때로는 값의 배열을 만들고 싶을 수도 있습니다. 이 경우 값을 true 로 설정해야 합니다 . 물론 개별적으로 또는 루프 내에서 설정할 수 있습니다. 그러나 Arrays.fill() 메서드를 사용하면 작업이 더 쉬워집니다.

boolean[] expected = { true, true, true, true, true };
boolean[] myArray = new boolean[5];
Arrays.fill(myArray, true);
assertArrayEquals(expected, myArray);

다시 한 번 실행하면 테스트가 통과됩니다. 따라서  true 의 배열이 있습니다 .

4. 박스 부울 배열 초기화

지금까지 true 또는 false 로  기본 부울  배열을 초기화하는 방법을 배웠습니다. 이제 boxed Boolean 쪽에서 동일한 작업을 살펴보겠습니다 .

첫째, 기본 부울 변수 와 달리 박스형 부울 변수에는 기본값이 없습니다. 값을 설정하지 않으면 값은 null 입니다. 따라서 요소의 값을 설정하지 않고 Boolean  배열을 생성하면 모든 요소는 null 입니다. 이를 확인하기 위해 테스트를 만들어 봅시다.

Boolean[] expectedAllNull = { null, null, null, null, null };
Boolean[] myNullArray = new Boolean[5];
assertArrayEquals(expectedAllNull, myNullArray);

true 또는  false 로 부울 배열  을 초기화하려면 여전히 Arrays.fill() 메서드를 사용할 수 있습니다.

Boolean[] expectedAllFalse = { false, false, false, false, false };
Boolean[] myFalseArray = new Boolean[5];
Arrays.fill(myFalseArray, false);
assertArrayEquals(expectedAllFalse, myFalseArray);
                                                                   
Boolean[] expectedAllTrue = { true, true, true, true, true };
Boolean[] myTrueArray = new Boolean[5];
Arrays.fill(myTrueArray, true);
assertArrayEquals(expectedAllTrue, myTrueArray);

위의 테스트는 실행할 때 통과합니다.

5. 결론

이 짧은 기사에서 우리는 Java에서 부울 또는 부울 배열을 초기화하는 방법을 배웠습니다.

항상 그렇듯이 예제의 전체 소스 코드는  GitHub에서 사용할 수 있습니다.

Generic footer banner