나는 (분명히 null이 아닌) 내 개체 중 하나를 인쇄 할 때 내가 좀 이상한 일을 실행했다. 내 item
객체가 null
경우조건 연산자()
text.append("\n [ITEM ID]: " + (item == null ? (otherItem == null ? 0 : otherItem .getItems().get(i).getId()) : item .getItems().get(i).getId()));
더 널 포인터 예외가 없습니다 :이 회선을 사용하는 경우
. 물론 이것은 예외적 인 결과 여야합니다. 나는 ()
마르크없이 사용한다면 :
text.append("\n [ITEM ID]: " + item == null ? (otherItem == null ? 0 : otherItem .getItems().get(i).getId()) : item .getItems().get(i).getId())
나는 조건 연산자는 연산자의 다른 부분을 실행하지 않습니다 생각하지만 난 NullPointerException이 있어요. 이 경우
()
마르크를 사용하는 것이 필수적입니다 왜 누군가가 나에게 그것을 설명하는 경우
나는 감사하겠습니다. 당신이 작동하려면 넣어 할 수 있도록
연산자 우선 순위의 경우를 참조하십시오? –
힌트 :' "\ n [아이템 ID] :"+ 아이템 "은 ...이됩니까? –