2011-11-23 3 views
1

바와 같이 here 설명 : 우리는 객체 및 그 방법 (또는 속성) 논리 AND 연산자 (& &)로 통화 연결Java에서 "andand"기술을 수행 할 수있는 방법이 있습니까?

을하므로 메소드는 객체 인 경우 호출 널이 아닌 (truthy). 이 기술은 일반적으로 'andand'로 알려져 있습니다. 루비에서

, 우리는이 일을 할 수있어 : @person가 null의 경우 우리가하지 않아도

name = @person && @person.name

이 방법은 명시 적으로 확인합니다.

java와 비슷한 기술이 있습니까?

+0

를 써서 당신이 운전을하고 싶지 또는 당신이 속성이 null인지 확인하는 간단한 방법을 찾고 있습니까? – Pace

+0

속성이 null인지 확인하고 코드의 단일 축약 줄에 값을 할당하려고합니다. – Ger

+0

http://laktek.com/2011/11/23/basic-patterns-for-everyday-programming/ – jpredham

답변

4

시도 ternary operator 그러나 이것은 && 기술과 유사하지는 않지만 그 방식으로 만 작동합니다.

person != null ? peson.name : <default name> 
5

자바에서 유사한 기술이 있습니까?

간결한 설명은 없습니다.

프로젝트 코인 proposal이 소위 "Elvis"연산자와 관련 항목을 Java 7에 추가했습니다. 그러나 잘라내 지 않았습니다.

0

자바에는 short-circuit evaluation이 있습니다. 문제는 Java가 nullfalse (그리고 null이 아니어야 함 - true과 동일)이라고 가정하지 않는다는 것입니다.

2

아니요, 문자열을 확인할 때만 비교 순서를 반대로 변경할 수 있습니다. 대신

if (role != null && role.equals("admin")) 

당신이

if ("admin".equals(role)) 
관련 문제