Not Using/JAVA

API에서 알아두어야할 클래스

longer 2011. 12. 20. 19:48

StringBuffer/StringBuilder
스트링은 값이 바뀌지 않는 immutable이므로 이 문제를 해결하기 위해 객체생성을 최소화하는 클래스
(속도문제발생)

빠른속도&객체 생성 최소화
-Enterprise급 시스템에서는 String사용을 가급적 자제
주요메소드 append(),reverse()

스트링버퍼 append(),reverse()메소드 예제

public class StringButterEx {
public static void main(String[] args) {
 String str = "AAA";
    str = str+"BBB";
 
 StringBuffer buffer = new StringBuffer();
 buffer.append("AAA");
 buffer.append("BBB");
 
 System.out.println(buffer.toString());
 StringBuffer result = buffer.reverse();
 System.out.println(result.toString());
}
}



날짜관련 클래스 Date,Calendar
-System.currentTimeMiles()->long타입의 1000분의 1초
-Date->JDK1.0에서부터 지원되는 날짜 처리 클래스
-Calendar->JDK1.1이후에 변경된 날짜 처리 클래스(GregorianCalendar)


날짜클래스사용해보기-예제
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;


public class DateEx {
public static void main(String[] args) {
 long time = System.currentTimeMillis();
 System.out.println(time);
 
 Date today = new Date();
 System.out.println(today);
 
 Calendar cal = Calendar.getInstance();
 System.out.println(cal);
 
 Calendar cal2 = new GregorianCalendar();
 System.out.println(cal2);
 
 int year = cal.get(Calendar.YEAR);
 System.out.println(year);
 
 int month = cal.get(Calendar.MONTH);
 System.out.println(month);//month는 0부터 시작(1월은 0~11까지)
 
 int monthday = cal.get(Calendar.DATE);
 System.out.println(monthday);
 
 int DayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
 System.out.println(DayOfWeek);
 //일1 월2 화3 수4 목5 금6 토7
 
 //2011 /12 / 25 무슨요일^^? - >날짜변경:set메소드
 
 cal.set(Calendar.MONTH, 11);
 cal.set(Calendar.DATE, 25);
 int xmas = cal.get(Calendar.DAY_OF_WEEK);
 System.out.println(xmas);
}
}




*날짜는 OS에 영향을 받는다.

날짜관련해서 가장 많이 쓰이는 작업들
-특정 날짜의 년,월,일,요일 확인하기
-특정 월의 마지막 날짜 구하기
-문자열을 Date/Calendar로 변환하기
-날짜들 간의 시간 차이 구하기

-----------------------------------------------------예제
import java.util.Calendar;


public class DateEx3 {
public static void main(String[] args) {
 Calendar cal = Calendar.getInstance();
 
 //달력을 만드는데 제일 중요한 것은 무슨요일을 시작으로 마지막 날이 언제인지 알아내는것
 
 cal.set(Calendar.YEAR, 2008);
 cal.set(Calendar.MONTH, 1);
 cal.set(Calendar.DATE, 1);  //시작하는 날 셋팅하기
 int today = cal.get(Calendar.DAY_OF_WEEK);  //요일받기 (2008/02/01)
    System.out.println(today); 
    int lastday = cal.getActualMaximum(Calendar.DATE);  //셋팅한 날의 최대일(2008/02)
    System.out.println(lastday);
}
}