반응형
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()
이렇게도 가능.
반응형
'알고리즘 > 이론과 문법' 카테고리의 다른 글
함수로 얕은복사(Shallow Copy)가 될 때 유의할 점 (0) | 2019.04.07 |
---|---|
백트래킹 (0) | 2019.03.31 |
[Java] 배열 clone() 매소드 deep copy (0) | 2019.03.23 |
정렬알고리즘 속도 (0) | 2019.03.21 |
Stable & Unstable Sort (안정정렬, 불안정정렬) (0) | 2019.03.21 |