2015-01-21 2 views
-6

나는이 expresion을 가지고 있으며 ? 연산자를 사용하여 한 줄에 넣고 싶습니다.else 브랜치없이 자바에서 삼항 연산자를 사용하는 방법

for (Area a : listaArea) { 
    if (a.getIdArea() == user.getIdArea()) { 
     user.setNomArea(a.getNomArea()); 
    } 
} 

이것은 내가 뭘하려 :

for (Area a : listaArea) {a.getIdArea() == user.getIdArea() ? user.setNomArea(a.getNomArea())} 

어떻게 ? expresion에 그 if을 변환? JLS 상태로

+3

정말이 질문과 중복되지 않습니다. – user2336315

+0

보조 노트로서 : 나는 덜 읽기 쉽기 때문에 당신의 경우에 3 항 연산자를 사용하지 않을 것이다. – stuXnet

+1

집합이 무효이면 가정 할 수 없습니다. – user2336315

답변

0

는 :

는 두 번째 또는 공극 메소드의 호출 될 세 번째 피연산자 식 중 대한 컴파일시 에러이다.

세터가 반환 유형을 가질 가능성이 더 높다고 가정하면이 컨텍스트에서 삼항 연산자를 사용할 수 없습니다.

관련 문제