API에서 알아두어야할 클래스
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);
}
}