API 기능정의
개발자들이 편리하게 이용할수 있게 기능들을 정의 해둔 클래스들을 API(Application Programming Interface)라고 한다. 간단하게 정리하면 API란, 누군가가 만들어놓은 기능이다.
String의 이해 및 주요기능(메소드)
String 예제
package sutdy.java.ex17;
public class MainClass {
public static void main(String[] args) {
String str1 = "abcdefg";
String str2 = "HIJKLMN";
String str3 = "opqrstu";
System.out.println(str1.concat(str2));
System.out.println(str1.substring(3));
System.out.println(str1.length());
System.out.println(str1.toUpperCase());
System.out.println(str2.toLowerCase());
System.out.println(str1.charAt(3));
System.out.println(str1.indexOf('c'));
String str4 = "abcdefg";
System.out.println(str1.equals(str4));
String str5 = "abc de fg";
System.out.println(str5.trim());
System.out.println(str1.replace('a', 'z'));
System.out.println(str1.replaceAll(str1, str3));
System.out.println(str1.replaceAll("abcd", "kkkk"));
}
}
결과값
abcdefgHIJKLMN defg 7 ABCDEFG hijklmn d 2 true abc de fg zbcdefg opqrstu kkkkefg
String의 문제점
메모리의 과소비, String객체의 경우 처음 초기화된 데이터에 변화가 생기면 기존것을 재활용 하지않고 새로운 것을 찾는다.
String 클래스의 대안?
String클래스의 새로운 메모리를 생성하는 문제로 인해 속도가 느려지는 현상이 있다. 그래서 속도적인 측면에서 더욱 개선된StringBuffer 와 StringBuilder의 등장을 한다.
StringBuilder 및 StringBuffer 의 주요기능(메서드)
append : 문자열 추가
insert : 특정 위치에 문자열 추가
delete : 문자열 삭제
deleteCharAt : 특정 문자 하나 삭제
StringBuilder 및 StringBuffer 예제
package sutdy.java.ex17;
public class StringBuilderClass {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder("abcdefg");
sb.append("hijklmn");
System.out.println(sb);
sb.insert(3, "aaaa");//3번째 이후로 삽입
System.out.println(sb);
sb.delete(3, 5); //3번째 자리에서 5번째 자리 앞에 까지 지운다.
System.out.println(sb);
sb.deleteCharAt(10); //10번째 문자 하나 지운다.
System.out.println(sb);
}
}
결과값
abcdefghijklmn abcaaaadefghijklmn abcaadefghijklmn abcaadefghjklmn
날짜 (Calendar) 의 예제
날짜와 시간을 표할때 쓰는 Calendar클래스
package sutdy.java.ex17_api;
import java.util.Calendar;
public class CalendarClass {
public static void main(String[] args) {
Calendar cd = Calendar.getInstance();
int year = cd.get(Calendar.YEAR); //년도
int month = cd.get(Calendar.MONTH) + 1; //월 은 0부터 시작하기 때문에 숫자 1을 더해준다.
int day = cd.get(Calendar.DAY_OF_MONTH); //날짜
int hour = cd.get(Calendar.HOUR_OF_DAY); //시
int minute = cd.get(Calendar.MINUTE);//분
int second = cd.get(Calendar.SECOND);//초
System.out.println(year + "년" + month + "월" + day + "일");
System.out.println(hour + "시" + minute + "분" + second + "초");
}
}