자바 기본제공 API

Java Holic·2022년 1월 25일
0

Java

목록 보기
1/1

API (자바 기본제공)

String : 문자열 값 수정이 불가능. 수정 시 수정된 문자열이 새로 할당되어 새 주소 넘김

wrapper : 기본자료형을 객체화


StringTokenizer : String클래스 split()메소드와 동일기능으로 각 문자열을 각 토큰에 저장

String str = "AA|BB|CC";

StringTokenizer st = new StringTokenizer(str, "|");

while(st.hasMoreToken()){

system.out.println(st.nextToken());

}

String str = "abc";
String str1 = "abc"; //리터럴로 생성 //실제 시스템 해시코드도 같게나옴 (스트링 풀로 인해서)
// jvm이 스트링풀을 검사 => 동일한 값이 있으면 그 주소값을 리턴

String str2 = new String("abc");
String str3 = new String("abc"); //생성자로 생성 //실제 시스템 해시코드는 다름 //스트링풀을 고려하지 않고 새로 만듬

System.out.println(System.identityHashCode(str1));
System.out.println(System.identityHashCode(str2)); 다른결과가 나옴

java.lang.String 클래스의 API

String str = "abc";
System.out.println(str.charAt(1));
System.out.println(str.concat("def"));
System.out.println(str.contains("a"));

String str1 = "a,b,c";
//split
String[] strArr = str1.split(",");
for(int i = 0; i < strArr.length; i++) {
	System.out.println(strArr[i]);
}
for(String arr : strArr) {
	System.out.println(arr);
}
//toUpperCase
System.out.println(str.toUpperCase());
//substring
System.out.println(str1.substring(2,4));

String str2 = "         a b c            ";
//문자열 앞뒤 공백제거 trim
System.out.println(str2.trim());

java.lang.StringBuffer와 String의 차이점 (값이 바뀌면 주소가 변경되는지여부)

String str = "반가워! ";
System.out.println("기존 str : " + str + ", 주소 : " + str.hashCode());

str += "난 String이라고해";
System.out.println("추가 후 str : " + str + ", 주소 : " + str.hashCode());


StringBuffer sbf = new StringBuffer("안녕");
System.out.println("sbf 기존 : " + sbf + ", 주소 : " + sbf.hashCode());
sbf.append("반가워");
System.out.println("sbf 추가 후 : " + sbf + ", 주소 : " + sbf.hashCode());

sbf.append(" 나는 지금").append("배가 고파 ㅠㅠ"); //메소드체이닝
System.out.println(sbf);

//insert
sbf.insert(6, "모두들 ");
System.out.println(sbf);

//delete
sbf.delete(0, 6);
System.out.println(sbf);

//reverse
sbf.reverse();
System.out.println(sbf);

Boxing / Unboxing

public static void main(String[] args) {
		
//Boxing (기본자료형을 객체로), UnBoxing (클래스객체를 기본자료형으로)
		
		
	//autoboxing
	Short i = 10;
	Integer i2 = 5;
	Double d = 5.0;
		
	int pi = i2.intValue();
	double pd = d.doubleValue();
		
	//autoUnboxing
	int a = i;
	int b = i2;
	System.out.println(a+b);
	abox(a+b); //a+b는 int기본자료형인데 >> integer >> 다형성 >> Object
		
	byte bi = Byte.valueOf("1");
	String bs = Byte.valueOf(bi).toString();
		
	int ii = Integer.valueOf("3");
	ii = Integer.parseInt("3");
	String is = Integer.valueOf(ii).toString();
	is = ii+"";
		
}
	
public static void abox(Object obj) {
		
	System.out.println((int)obj);
	
}

날짜클래스 : Date , Calendar, GregorianCalendar(윤년계산)

public static void main(String[] args) {
		
//	Date time = new Date();
//	System.out.println(time);
//		
//	Date time2 = new Date(0L);
//	System.out.println(time2);
//		
//	String time3 = new Date(1500000000000L).toGMTString();
//	System.out.println(time3);
		
	Date today = new Date();
	System.out.println(today);
		
	SimpleDateFormat sdf = new SimpleDateFormat("yyyy/mm/dd");
	System.out.println(sdf.format(today));
		
	//SimpleDateFormat("yyyy/mm/dd").format(new Date());
		
	System.out.println("--------------캘린더-------------");
	Calendar calendar = Calendar.getInstance();
	System.out.println(calendar);
		
//	calendar.set(2021, 8-1, 12);
//	System.out.println(calendar);
		
	int year = calendar.get(1);
	int month = calendar.get(Calendar.MONTH)+1;
	int date = calendar.get(Calendar.DATE);
	int hour = calendar.get(Calendar.HOUR);
	int min = calendar.get(Calendar.MINUTE);
		
	System.out.println(year+"-"+month+"-"+date+"-"+hour+"-"+min);
		
	System.out.println("------------그레고리안-------------");//윤년계산 
	GregorianCalendar gc = new GregorianCalendar();
	System.out.println(gc.getTime());
		
	System.out.println("year : " + gc.get(Calendar.YEAR));
	System.out.println("Month : " + (gc.get(Calendar.MONTH)+1));
		
	gc.set(2017, 10-1,22);
	System.out.println(gc.getTime());
		
}
profile
새내기 개발자의 지식기록 공간

0개의 댓글