2013-03-20 4 views
0

특정 특성에 대해 특정 유형의 모든 객체/변수 또는 전체를 검사하는 코드 블록을 작성할 수 있습니까? (각각에 대해 if 문을 작성하지 않음)
true 또는 false 인 경우 무언가로 설정하십시오.여러 변수를 한 번에 확인하는 방법은 무엇입니까?


당신이 세 변수가 있다면처럼

하고 ...

if(a=0||b=0||c=0){ 
//set any variable equal to zero to 4 
} 

예비 주석


또는 복잡한 예를 들어, 4 arraylists의 설명 작업 타입 정수 :

List<Integer> even = new ArrayList<Integer>(), //positive even ints 
odd = new ArrayList<Integer>(), //positive odd ints 
negaodd = new ArrayList<Integer>() //negative even ints 
negaeven = new ArrayList<Integer>(); //negative odd ints 

다음과 같은 :

if("AnyArray".isEmpty()){ 
whatever-array-is-being-tested/tried = null; 
} 

그래서 배열의 대신 []의 빈은, 다음, 그들은 "NULL"반환 었죠합니다.

+1

배열이나 목록을 사용하고 요소를 반복하십시오. –

답변

3

흠, 컬렉션에 대해 흥미롭고 반복적 인 작업을 원한다면 필터를 적용하고 매핑하는 것처럼 매우 기능적으로 보입니다. lambdaj 또는 Google 컬렉션을 사용해보세요 (멋진 게시물 http://codemunchies.com/2009/11/functional-java-filtering-and-ordering-with-google-collections-part-3/ 참조). 다음은 https://code.google.com/p/lambdaj/wiki/LambdajFeatures의 lambdaj를 사용한 예입니다. 가끔 이런 종류의 (간단한 루프가 충분할 경우)와 함께 바다로 무엇보다도 코드 더 모호하게 가고, 그래서 조심해야 What is the best way to filter a Java Collection?

면책 조항 :

List<Integer> oddNumbers = filter(odd, asList(1, 2, 3, 4, 5)); 

은 잠재적 아이디어 여기를 참조하십시오 .

+1

나는 면책 조항이 마음에 들었다. – jahroy

+0

당신이 제공하는 링크가 작동하지 않습니다. –

1

중 하나를 달성하기 위해 도우미 방법과 함께 배열이나 목록을 사용할 수 있습니다. 이 아닌 배열의 요소를 0으로 a, b 또는 c 설정 아닌 것으로

int[] intArray = { a, b, c }; 
setZeroes(intArray); 

public void setZeroes(int[] a) { 
    for (int i = 0; i < a.length; i++) { 
     a[i] = (a[i] == 0) ? a[i] : 4; 
    } 
} 

참고.

하지만 ... 어쨌든 그들은 어쨌든 배열 (또는 목록)의 요소이어야합니다. 그건 내 직감이야.

목록 목록과 동일한 작업을 수행 할 수 있습니다.

List<List<Integer>> listOfLists = new ArrayList<List<Integer>>(); 
listOfLists.add(listA); 
listOfLists.add(listB); 
listOfLists.add(listB); 
setListsToNull(listArray); 

public void setListsToNull(List<List<Integer>> a) { 
    for (int i = 0; i < a.length; i++) { 
     List<Integer> thisList = a.get(i); 
     a.set(i, thisList.isEmpty() ? null : thisList); 
    } 
} 


가 쉽게 일반적인 두 가지 방법을 만들 수 있습니다 .... 내가 일반적으로 ? 연산자 대신에 if 문을 사용하지만, 더 IFS를 원하지 않았다 (당신은해야 할 것 첫 번째 예제에서는 개체를 사용합니다.) 그러나 우리는 여러분에게 맡길 것입니다. ...

관련 문제