알고리즘/이론과 문법

Integer 객체 비교

lipnus 2019. 3. 23. 17:26
반응형

Integer객체 비교

public class Test {
public static void main(String[] args){

Integer a = new Integer(1);
Integer b = new Integer(1);
        

System.out.println(a==1); //true

System.out.println(a==b); //false
}
}




int가 아닌 Integer에서는 두 객체의 레퍼런스가 같은지를 비교한다.

위와 같은 상황 정도에서는 헷갈릴 리가 없었겠지만, List<Integer> 형태에서는 처음에 발견을 못했었음.


static List<Integer> sumLine(List<Integer> line){


for(int i=0; i<line.size()-1; i++){
if(line.get(i) == line.get(i+1) ){
line.set(i, line.get(i)*2);
line.remove(i+1);
}
}

return line;
}


if(line.get(i).equals( line.get(i+1) )){

이렇게 해줘야 값을 비교하는 게 된다.


line.get(0).intValue() == line.get(1).intValue()

이렇게도 가능.

반응형