Java if
문을 짧은 형식으로 작성하는 방법이 있다는 것을 알고 있습니다 .
if (city.getName() != null) {
name = city.getName();
} else {
name="N/A";
}
누구든지 위의 5 줄에 대한 짧은 양식을 한 줄에 쓰는 방법을 알고 있습니까?
답변
삼항 연산자를 사용하십시오.
name = ((city.getName() == null) ? "N/A" : city.getName());
조건이 거꾸로 있다고 생각합니다. null이면 값이 “N / A”가되기를 원합니다.
도시가 null이면 어떻게 되나요? 이 경우 코드가 침대에 닿습니다. 다른 수표를 추가하고 싶습니다.
name = ((city == null) || (city.getName() == null) ? "N/A" : city.getName());
답변
.getName()
두 번 전화를 피하려면
name = city.getName();
if (name == null) name = "N/A";
답변
이를 수행하는 방법은 삼항 연산자를 사용하는 것입니다.
name = city.getName() == null ? city.getName() : "N/A"
그러나 위 코드에서 오타가 있다고 생각합니다.
if (city.getName() != null) ...
답변
? : Java 연산자
Java에서는 다음과 같이 작성할 수 있습니다.
if (a > b) {
max = a;
}
else {
max = b;
}
단일 조건을 기반으로 단일 변수를 두 가지 상태 중 하나로 설정하는 것은 조건부 연산자? :에 대한 바로 가기가 고안된 if-else의 일반적인 사용입니다. 조건부 연산자를 사용하면 위의 예제를 다음과 같이 한 줄로 다시 작성할 수 있습니다.
max = (a > b) ? a : b;
(a> b)? a : b; a 또는 b의 두 값 중 하나를 리턴하는 표현식입니다. 조건 (a> b)이 테스트됩니다. 참이면 첫 번째 값 a가 반환됩니다. False이면 두 번째 값 b가 반환됩니다. 반환되는 값은 조건부 테스트 a> b에 따라 다릅니다. 조건은 부울 값을 리턴하는 표현식 일 수 있습니다.
답변
자바 8 :
name = Optional.ofNullable(city.getName()).orElse("N/A")
답변
나는 항상 ?:
삼항 연산자 를 사용하는 방법을 잊고 있습니다 . 이 보충 답변은 빠른 알림입니다. 의 약칭입니다 if-then-else
.
myVariable = (testCondition) ? someValue : anotherValue;
어디
()
보유if
?
방법then
:
방법else
와 동일
if (testCondition) {
myVariable = someValue;
} else {
myVariable = anotherValue;
}
답변
if, else if, else
짧은 형식으로 진술을 작성할 수 있습니다 . 예를 들면 다음과 같습니다.
Boolean isCapital = city.isCapital(); //Object Boolean (not boolean)
String isCapitalName = isCapital == null ? "" : isCapital ? "Capital" : "City";
이것은 짧은 형식입니다.
Boolean isCapital = city.isCapital();
String isCapitalName;
if(isCapital == null) {
isCapitalName = "";
} else if(isCapital) {
isCapitalName = "Capital";
} else {
isCapitalName = "City";
}