본문 바로가기

java.lang

[Java Tips] array 를 다른 array로 복사하는 법 얼마전 다른 개발자가 작성한 코드를 보다가 array 복사를 for loop 문을 이용해서 하는 것을 보았습니다. 물론, 별 생각 없이 써도 무방한 코드입니다. int[] src = {1, 2, 3, 4, 5}; int[] dest = new int[src.length]; for(int i = 0 ; i < src.length ; i++){ dest[i] = src[i]; } 하지만, 복사해야 하는 array의 사이즈가 1000, 10000으로 커진다면 어떻게 될까요? 과연 성능이 잘 나올까요? 이런 경우, 사용할 수 있는 간단한 API가 java.lang.System.arraycopy(Object src, int src_position, Object dst, int dst_position, int le.. 더보기
[Java Tips] ArrayList를 array로 변환하는 방법 ArrayList를 쓰다 보면 가끔 array로 변환해야 하는 경우가 발생합니다. 여러 가지 방법이 있겠지만, 다음과 같이, 두 가지 방법을 주로 쓰게 됩니다. array를 생성한 다음, for 문을 통해 assign 하는 방법 ArrayList.toArray() 또는 ArrayList.toArray(T[] a)를 이용하는 방법 1번 보다는 2번 방법이 성능 면이나 코드 가독성 면에서 추천합니다. 샘플 1 : ArrayList.toArray()를 이용하는 법 import java.util.ArrayList; public class ArrayListToArray { public static void main(String[] args) { // Array List 생성 ArrayList al = new Ar.. 더보기
[Java Tips] 자바 프로그램 메모리 사용량 보기 자바로 개발하다 보면, 헌재 전체 메모리 양과 사용 가능한 메모리 양을 확인해야 할 때가 있습니다. 메모리와 관련된 기능은 Runtime class에서 제공해 주며 다음과 같이 사용할 수 있습니다. 각 Method 들은 byte 단위의 메모리 양을 리턴합니다. totalMemory : 현재 Allocate 된 메모리 사용량을 리턴 freeMemory : 현재 Allocate 된 메모리 중, 사용 가능한 메모리 양을 리턴 public class MemoryTrace { public static void main(String[] args) { System.out.println("Total Memory : " + Runtime.getRuntime().totalMemory()); System.out.printl.. 더보기
[Java Tips] NullPointerException을 피하는 String 비교 구문 개발을 하다 보면 상수형 String과 변수형 String을 비교해야 하는 일이 자주 있습니다. 이런 경우, 다음과 같이 사용하는 경우는 변수형 String이 Null인 경우, NullPointerException이 발생합니다. 예 : if(variable.equals(CONSTANT_STRING)) doSomething(); NullPointerException을 발생시키지 않기 위해, variable에 대해 null 체크를 해 줘야 합니다. 예 : if(variable != null && variable.equals(CONSTANT_STRING)) doSomething(); 하지만, 다음과 같이 쓰면, null 체크 없이도, 비교 구문을 작성하실 수 있습니다. 예 : if(CONSTANT_STRING.. 더보기