String vs String Literal vs StringBuilder

// String Literal uses String common pool.
// String is immutable object.
// StringBuilder is mutable object.


// + operator (new StringBuilder(String.valueOf(str1)).append(str2).toString();
String str1 = "P";
String str2 = "P";
String str3 = str1 + str2;

// str1.concat(str2) method creates new String
String str4 = str1.concat(str2);

Autoboxing


Integer a = 1000, b = 1000;
System.out.println(a == b); // false

// WARNING: JVM tries to save memory
// when the Integer falls in a range (from -128 to 127).
Integer c = 100, d = 100;
System.out.println(c == d); // true

lab5

Lab5_1 ~ Lab5_4 프로젝트 디렉토리 안에 모든 파일(src/*.java & bin/*.class)와 보고서 (장수제한없음)를 넣고 Lab5_학번_이름.zip 압축한 후 e-learning (http://lms.dankook.ac.kr/index.jsp)으로 제출 (Due by 10/22)
java2-lab5

Lab5_1 arraylist, generic, inner class
Lab5_2 dynamic array 코드분석 및 Lab5_1과 코드 비교분석
Lab5_3 ==, equals, hashCode, Collection 본인 데이터를 사용할 것
Lab5_4 lambda, stream, query 본인데이터를 사용할 것

lab4

java2-lab4

Lab4_1~ Lab4_4 프로젝트 디렉토리 안에 모든 파일(src/*.java & bin/*.class)와 보고서 (장수제한없음)를 넣고 Lab4_학번_이름.zip 압축한 후 e-learning (http://lms.dankook.ac.kr/index.jsp)으로 제출 (Due extended by 10/15)

exception handling, file io, interface, File (e-learning에 답안)

Lab4_1 run-time exception의 상황을 모두 잡아주는 예외처리
Lab4_2  loadCSV 메소드에서는 클래스명에 따라서 해당 객체를 생성
Lab4_3는 배열을 사용해서 객체 Manager 클래스로,
생성자에서 size로 배열의 초기 크기 지정,
add 메소드로 배열에 객체를 추가하면 count 증가. 
getAll 메소드는 배열을 반환.
print 메소드에서는 null출력하지말고 count를 이용해서 데이터가 있는것 만큼만 출력.
remove 메소드는 해당 index의 것만 null되는 것이 아니라, 해당 데이터는 지워지고 그만큼 다음 데이터가 앞으로 당겨지도록.
Lab4_4는 printAllImagesInDirectory에서 디렉토리를 지정, 그 디렉토리 안에 있는 (서브디렉토리까지) 모든 image 파일을 찾아서 print (만약 image 파일이 아닌경우 exception handling)