developer tip

자바에서 부울 배열 초기화

optionbox 2020. 8. 21. 07:32
반응형

자바에서 부울 배열 초기화


이 코드가 있습니다

public static Boolean freq[] = new Boolean[Global.iParameter[2]];
freq[Global.iParameter[2]] = false;

누군가 내가 여기서 정확히 뭘 잘못하고 있는지 그리고 어떻게 고칠 수 있는지 말해 줄 수 있습니까? 모든 배열 요소를 Boolean false로 초기화하면됩니다. 감사합니다


모든 배열 요소를 Boolean false로 초기화하면됩니다.

boolean[]모든 값의 기본값이 false다음과 같도록 대신 사용 하십시오 .

boolean[] array = new boolean[size];

또는을 사용 Arrays#fill()하여 전체 배열을 Boolean.FALSE다음 으로 채 웁니다 .

Boolean[] array = new Boolean[size];
Arrays.fill(array, Boolean.FALSE);

또한 배열 인덱스는 0부터 시작합니다. freq[Global.iParameter[2]] = false;당신이 거기에 있었던 라인은 ArrayIndexOutOfBoundsException. Java의 배열에 대해 자세히 알아 보려면 이 기본 Oracle 자습서를 참조하십시오 .


배열은 할당 할 때 false로 초기화됩니다.

Java의 모든 배열은 해당 유형의 기본값으로 초기화됩니다. 즉, int 배열은 0으로 초기화되고 부울 배열은 false로 초기화되며 참조 유형 배열은 null로 초기화됩니다.


Java의 배열은 0에서 인덱싱을 시작합니다. 따라서 예제에서는 배열 외부에있는 요소를 하나씩 참조하고 있습니다.

아마도 freq [Global.iParameter [2] -1] = false;

모든 것을 초기화하려면 배열을 반복해야합니다.이 줄은 마지막 요소 만 초기화합니다.

사실, Java의 부울에 대해 false가 기본값이라고 확신하므로 초기화 할 필요가 전혀 없을 수도 있습니다.

친애하는


false기본적으로 로 초기화됩니다 . Java에서 배열은 힙에 생성되고 배열의 모든 요소에는 유형에 따라 기본값이 제공됩니다. 들어 boolean데이터 기본 값이 입력합니다 false.


public static Boolean freq [] = new Boolean [Global.iParameter [2]];

Global.iParameter [2] :

const 값이어야합니다.

참고 URL : https://stackoverflow.com/questions/2364856/initializing-a-boolean-array-in-java

반응형