알고리즘/이론과 문법
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()
이렇게도 가능.
반응형