마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 초보 질문드립니다.

0 추천
public NavPoint getNavPoint(int var1) {
    return var1 > this.a.size() - 1 &&    
     var1 < 0 ? null:(NavPoint)this.a.get(var1);
}
위코드가 어떤값을 반환한다는 말인가요?
 
public class NavPoint {
    public String identifier = new String();
    public int playOrder;
    public String text = new String();
    public String sourcePath = new String();
    public String sourcePathWithHashLocation = new String();
    public String hashLocation = new String();
    public int chapterIndex;
    public int depth;
    public int index;

    public NavPoint() {
    }
}
메탈존 (180 포인트) 님이 2017년 4월 6일 질문

2개의 답변

0 추천
var1 > this.a.size() - 1 &&  var1 < 0  조건을 만족하면 null 이 만족하지 않으면

(NavPoint)this.a.get(var1); 가 반환됩니다.

 

입력된 인덱스(var1) 가 리스트에 있으면, 해당 하는 리스트의 NavPoint 객체를 반환하고

리스트 보다 큰 값이나 마이너스값이 입력되면 null 을 반환하는 메소드 인듯 합니다.
익명사용자 님이 2017년 4월 6일 답변
답변 감사드립니다. 고맙습니다.
0 추천
추가 설명드리자면 삼항 연산자입니다.

삼항연산자 :  조건 ? 참일때의 값 : 거짓일때의 값

 

위와 같으며 위의 식을 괄호로 묶으면 아래와 같이 변합니다.

return ( var1 > this.a.size() - 1 && var1 < 0) ? null : (NavPoint)this.a.get(var1);

 

if 문으로 변경하면 아래와 같습니다.

if( var1 > this.a.size() - 1 && var1 < 0 )

    return null;

else

    return (NavPoint)this.a.get(var1);
익명사용자 님이 2017년 4월 6일 답변
...