반응형
Long 을 Int 로 casting 할 때 다음을 고려하자. |
-
casting 하려는 long 값이 양수, 음수를 모두 사용한다면, 그리고 충분히 큰 값을 사용한다면
함부로 int 로 casting 해서는 안된다.
-
안전한 down casting 다음과 같이 하면 좋다.
-
안전한 down casting 다음과 같이 하면 좋다.
public static int safeLongToInt(long l) {
if (l < Integer.MIN_VALUE || l > Integer.MAX_VALUE) {
throw new IllegalArgumentException(l + " cannot be cast to int without changing its value.");
}
return (int) l;
}
-
값 손실을 고려한다면 IllegalArgumentException 대신 최저 최고값인
Integer.MIN_VALUE 혹은 Integer.MAX_VALUE 를 각각 return 하면 되겠다.
반응형
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
[android] Lollipop (LOS) 부터는 Notification Icon 에 색상을 넣을 수 없다? (0) | 2016.02.14 |
---|---|
[android] Binder 와 Death Recipients 에 대한 이해 (4) | 2015.12.29 |
[android] 디컴파일링시 Plain Text 로 노출되면 안 되는 정보들 숨기기 (1) | 2015.12.24 |
[android] Thread Scheduling 에 대한 이야기 (0) | 2015.12.22 |
[android] toLowerCase() 에 대한 고찰 ( 터키어, 이스라엘어, 리투아니아어 ) (0) | 2015.12.21 |
댓글