자바 의 마법 치 소개 및 해결 방법

1265 단어 자바
마법 값 이란 코드 에 직접 나타 나 는 수 치 를 말 하 는데 이 수치 가 기술 한 부분 코드 에서 만 그 의 미 를 명확 하 게 이해 할 수 있다.
int [] array = new int[20];

for (int i = 0; i < 20; i++){
    System.out.print(array[i]);
}

상기 예 에서 배열 의 성명 이 for 순환 과 거리 가 멀 면 for 순환 안의 통제 조건 i < 20 중 20 의 구체 적 인 의미 가 무엇 인지 알 기 어렵다.그것 은 배열 의 길이 입 니까? 아니면 수요 에 따라 정 의 된 한계 값 입 니까?잘 모 르 겠 어 요.마법 수 치 는 코드 의 가 독성 을 크게 떨 어 뜨 린 다.그리고 같은 수치 가 여러 번 나 왔 을 때, 과연 이 수치 들 이 같은 의 미 를 가지 고 있 는 지 는 아무 도 알 수 없다.다른 한편, 같은 수 치 를 써 야 하 는 곳 을 잘못 쓰 면 발견 하기 어렵다.따라서 마법 수 치 를 사용 하 는 것 은 피해 야 한다.
해결 방법: static final 을 사용 하여 상수 또는 enum 값 을 정의 합 니 다.
static final int LENGTH_OF_ARRAY= 20;

int [] array = new int[LENGTH_OF_ARRAY];

for (int i = 0; i < LENGTH_OF_ARRAY; i++){
    System.out.print(array[i]);
}

상기 코드 는 static final 정의 상수 LENGTH 를 사용 합 니 다.OF_ARRAY= 20; for 순환 의 제어 조건 i < LENGTHOF_ARRAY; LENGTHOF_ARRAY 가 무슨 뜻 을 대표 하 는 지 (물론 변수의 이름 도 명확 하고 규범 에 부합 해 야 한다. 그렇지 않 으 면 다른 사람 이 볼 수 없다).여기 에는 i = 0 문구 에서 상수 0 을 직접 사용 할 수 있 는 이유 도 언급 되 어 있다. 이것 은 0 이 배열 의 최소 아래 표 시 는 모두의 공 통 된 인식 이기 때문에 모두 가 이해 할 수 있 고 더 이상 설명 할 필요 가 없 기 때문이다.
주: static final 성명 상수 를 사용 하면 나중에 업 데 이 트 를 유지 할 수 있 습 니 다.변수의 값 을 수정 할 때 한 곳 만 수정 하고 수정 하지 말 아야 할 상수 가 수정 되 는 것 은 걱정 하지 않 아 도 됩 니 다.

좋은 웹페이지 즐겨찾기