클래스 A
의 단일 입력을 받고 인스턴스에 고유 한 id
이 지정되어있는 정적 유틸리티 메서드를 만들려고 시도 중이며 특정 id
이 있는지 여부를 설명하는 boolean
값을 검색합니다. 특성이 적용됩니다. 관계를 설명 할 패턴이 없습니다. 수식없이 마음에 먼저 들었던 두 가지 옵션은 모두 id
또는 "또는"||
테스트 문자열을 포함하는 static final int[]
입니다. 밖에 다른 옵션이 더 좋습니까? 아니면 하나를 다른 옵션보다 우선적으로 사용할 수 있습니까? 이 작업은 큰 위업은 아니지만 간단하고 읽기 쉽도록하고 싶습니다.미리 정의 된 조건의 배열 저장
다음은 내가 무슨 뜻인지에 대한 일반적인 아이디어를 얻을 수 있도록 샘플입니다 :
public class UtilitiesA {
// first method of retrieval- static storage array
private static int[] validIds = {
A.instanceM.id, A.instanceZ.id, A.instanceL.id, A.instanceF.id, A.instanceP.id
};
public static boolean getHasCharacteristic(A input) {
for (int id : validIds) if (a.id == id) return true;
return false;
}
// vs the second method...
public static boolean getHasCharacteristic2(A input) {
return (input.id == A.instanceM.id ||
input.id == A.instanceZ.id ||
input.id == A.instanceL.id ||
input.id == A.instanceF.id ||
input.id == A.instanceP.id)
}
}
두 번째는 내가 생각보다 직관적뿐만 아니라 더 반복한다. 어떤 제안이라도 대단히 감사 할 것입니다.
예, 20Hz에서주기 당 약 0-10 회 실행되므로 다소 자주 실행됩니다. 나는 결국 데이터를 목록으로 저장하게 될지도 모른다. – vbee
첫 번째 옵션은 똑같이 유효하며 한 줄로 호출 할 수 있다는 점을 제외하면 더 좋거나 나 빠를 수 있습니다. –
나는 List.contains가 "두포 (Under the Hood)"라고 부르는 것이 무엇인지 알아 내려고 노력할지도 모르는 간결함을 좋아한다. – vbee