APIλ ?
β’
API(Application Programming Interface)μ μ½μμ΄λ€
β’
μμ©νλ‘κ·Έλ¨μμ μ¬μ©ν μ μλλ‘ μ΄μ체μ λ νλ‘κ·Έλλ°μΈμ΄κ° μ 곡νλ κΈ°λ₯μ
μ μ΄ ν μμκ² λ§λ μΈν°νμ΄μ€
μλ° API
β’
μλ°νλ«νΌμμμ λμνλ μ ν리μΌμ΄μ
β’
κ°λ°μ νμ© (μ μ©ν ν΄λμ€ λ° μΈν°νμ΄μ€ μ 곡)
β’
JDKλ₯Ό μ€μΉνλ©΄ APIμ 곡
Object
β’
λͺ¨λ ν΄λμ€λ Objectν΄λμ€μ νμ
β’
java.lang ν¨ν€μ§μ μ‘΄μ¬
β’
Object ν΄λμ€κ° κ°μ§ λ©μλμ€ κ΄λ‘μ λ§μ΄ μ€λ²λΌμ΄λ©ν΄μ μ¬μ©νλ λ©μλλ€μ΄ μ‘΄μ¬
1. toString(): μΈμ€ν΄μ€ μμ±μ μ¬μ©ν full class name κ³Ό @ κ·Έλ¦¬κ³ 16μ§μ ν΄μ¬μ½λκ°
λ¬Έμμ΄λ‘ λ°ν
@Override
public String toString() {
return "BookVO [number=" + number
+ ", title=" + title
+ ", author=" + author
+ ", price=" + price + "]";
}
1. Objectμ toStringλΌλ λ©μλκ° μ‘΄μ¬νλ―λ‘ μ¬μ©ν λ €λ©΄ Ovrrideν΄μΌνλ©° returnκ°μΌλ‘
μ΄λ κ² ν΄λΉ λ΄μμ μ 보λ₯Ό λ°μμ¬μ μλ€ (μ½μ2-1)
2. toStringμ μ€λ²λΌμ΄λ©μνκ³ νΈμΆν κ²½μ° @ + 16μ§μκ° λ°νλλ€.(μ½μ2-2)
--------------------------------------------------------------------------------
BookVO book1 = new BookVO(1, "νκΈΈλμ ", "νκ· ", 50000);
BookVO book2 = new BookVO(2, "λͺ©λ―Όμ¬μ", "μ μ½μ©", 30000);
BookVO book3 = new BookVO(3, "λͺ©λ―Όμ¬μ", "μ μ½μ©", 30000);
System.out.println("book1μ toString() : " + book1.toString() );
System.out.println("book2μ toString() : " + book2.toString() );
System.out.println("book3μ toString() : " + book3.toString() );
System.out.println("book1 : " + book1);
System.out.println("book2 : " + book2);
System.out.println("book3 : " + book3);
Java
볡μ¬
(μ½μ2-1)
(μ½μ2-2)
2. equals() : λ§€κ° λ³μλ‘ μ λ¬ λ°μ μΈμ€ν΄μ€μ == μ°μ°νμ¬ true λλ falseλ₯Ό λ°ν
λμΌ μΈμ€ν΄μ€ λΉκ΅
(λμΌκ°μ²΄ : μ£Όμκ° λμΌν μΈμ€ν΄μ€)
(λλ±κ°μ²΄ : μ£Όμκ° λ€λ₯΄λλΌλ νλ κ°μ΄ λμΌν μΈμ€ν΄μ€)
package com.greedy.section01.object.run;
import com.greedy.section01.object.vo.BookVO;
public class Application2 {
public static void main(String[] args) {
* equals()λ©μλ κΈ°λ³Έ κΈ°λ₯μ λμΌκ°μ²΄ νλ¨μ νλ€κ³ λ³Ό μ μλ€.(λμΌμ± νμΈ)
*
* νμ§λ§ κ²½μ°μ λ°λΌμλ λλ±κ°μ²΄λ₯Ό λμΌκ°μ²΄λ‘ μ·¨κΈν΄μ λΉκ΅νλ μΆμ κ²½μ°κ° λ°μνλ€.
* μ¦, λμΌν νλκ°μ κ°μ§λ κ°μ²΄λ₯Ό κ°μ κ°μ²΄λ‘ νλ¨ν μ μλλ‘ νλ κ²½μ°μ΄λ€.
* κ·Έλ¬ν κ²½μ° equals()λ©μλλ₯Ό μ€λ²λΌλ©νμ¬, κ°κ°μνλκ° λμΌν κ°μ κ°μ§λμ§λ₯Ό νμΈνκ³
* λͺ¨λ νλ κ°μ΄ κ°μκ²½μ° true, μλκ²½μ° falseλ₯Ό λ°ννλλ‘ μ μνλ€.
* */
BookVO book1 = new BookVO(1, "νκΈΈλμ ", "νκ· " ,50000);
BookVO book2 = new BookVO(2, "νκΈΈλμ ", "νκ· ", 50000);
System.out.println("λ μΈμ€ν΄μ€μ == μ°μ° λΉκ΅ : " + (book1==book2));
System.out.println("λ μΈμ€ν΄μ€μ equals() λΉκ΅ : " + (book1.equals(book2)));
}
}
-------------------------------
@Override
public boolean equals(Object obj) {
/*λ μΈμ€ν΄μ€μ μ£Όμκ° κ°μΌλ©΄ μ΄ν λ€λ₯Έλ΄μ©μ λΉκ΅ ν κ² μμ΄ trueλ₯Ό λ³ννλ€.*/
if(this == obj) {
return true;
}
/* thisλ μΈμ€ν΄μ€κ° μμ±λλ©΄ μ£Όμκ°μ΄ μ μ₯λλ€.
* nullμ΄λ©΄ λ©μλλ₯Ό νΈμΆ μμ²΄κ° λΆκ°λ₯νκΈ° λλ¬Έμ thisλ nullμΌ μ μλ€.
* λ°λΌμ μ λ¬ λ°μ λνΌλ°μ€ λ³μκ° nullκ°μ μ μ₯νκ³ μλ€λ©΄
* λΉκ΅νλ €λ λ κ°μ μΈμ€ν°λ μλ‘ λ€λ₯Έ μΈμ€ν΄μ€μ΄λ€.*/
if(obj == null) {
return false;
}
/*μ λ¬λ°μ λ νΌλ°μ€ λ³μλ₯Ό BookVO νμ
μΌλ‘ νλ³ννμ¬ κ° νλλ³λ‘ λΉκ΅μλ₯Ό μν¨λ€.*/
BookVO other = (BookVO) obj;
/*number νλ κ°μ΄ μλ‘ κ°μ§ μμΌλ©΄ μλ‘ λ€λ₯Έ μΈμ€ν΄μ€μ΄λ€*/
if(this.number != other.number) {
return false;
}
/*title νλμ κ°μ΄ nullμΈκ²½μ°
* 맀κ°λ³μλ‘ μ λ¬ λ°μ μΈμ€ν΄μ€μ titleνλμλ nullμ΄ μ μ₯λμ΄μμ΄μΌ μλ‘ κ°μ μΈμ€ν΄μ€μ΄λ€.
* κ·Έλ μ§ μμΌλ©΄ falseλ₯Ό λ°ννκ³ λλΈλ€.*/
if(this.title == null) {
/*title νλκ° null μΈκ²½μ° λ€λ₯Έ μΈμ€ν΄μ€μ titleμ΄ nullμ΄ μλλ©΄ fasleλ₯Ό λ°ν*/
if(other.title != null) {
return false;
}
}else if(!this.title.equals(other.title)) {
/*String ν΄λμ€μ equals()λ μ΄λ―Έ ν΄λΉ κΈ°λ₯μ μ€λ²λΌμ΄λ©ν΄ λμκΈ° λλ¬Έμ
* κ°μ κ°μ κ°μ§λμ§λ₯Ό λΉκ΅νλ€.
*
* titleνλκ° nullμ΄ μλ κ²½μ° λ μΈμ€ν΄μ€μ νλ κ°μ΄ κ°μμΌνλλ°
* κ·Έλ μ§ μμΌκ²½μ° falseλ₯Ό λ°ννκ³ μ’
λ£*/
return false;
}
/*μκ°μ λΉκ΅λ μ λͺ© λΉκ΅μ κ°μ λ°©μμ΄λ€.*/
if(this.author == null) {
if(other.author != null) {
return false;
}
}else if(!this.author.equals(other.author)) {
return false;
}
return true;
}
Java
볡μ¬
3. hashCode() : μΈμ€ν΄μ€μ μ£Όμκ°μ λ³ννμ¬ μμ±ν μΈμ€ν΄μ€μ κ³ μ κ°μ λ°ν
β’
Object ν΄λμ€μ λͺ
μΈμ μμ±λ μΌλ°μ μΈ κ·μ½μ λ°λ₯΄μλ©΄
equals() λ©μλλ₯Ό μ μ μ νλ κ²½μ° hashCode() λ©μλλ μ¬μ μνκ² λμ΄μλ€.
λ§μ½ hashCode()λ₯Ό μ¬μ μνμ§ μμΌλ©΄ κ°μ κ°μ κ°μ§λ λλ±κ°μ²΄λ
κ°μ ν΄μμ½λ κ°μ κ°μ ΈμΌ νλ€λ κ·μ½μ μλ°νκ²λλ€
(κ°μ μ±μ μλκ³ νμμλ°λ₯Έ κ΄λ‘μ©λ²μ΄λ€)
β’
λμΌν νλκ°μ κ°μ§λ©΄ λμΌν ν΄μ¬μ½λλ₯Ό κ°μ§λ€
β’
λλ±κ°μ²΄λ₯Ό λμΌκ°μ²΄λ‘ λ§λ€κΈ°μν΄μ μ¬μ©νλ€.
β’
μλ μ½λλ΄μ©μ λ¨Όμ hashcodeλ₯Ό μ€λ²λΌμ΄λ©νλ€μμ λ©μΈλ©μλμμ νΈμΆνλ©΄ κ°μ hashcode κ°μ κ°μ§λ€λ λ΄μ©μ μ½λλ‘ λνλΈκ±°λ€
@Override
public int hashCode() {
/*κ³±μ
μ°μ°μ λμ μμΌμΌ νκΈ° λλ¬Έμ 0μ΄ μλ κ°μΌλ‘ μ΄κΈ°ν*/
int result = 1;
/*31μ μμμ΄κΈ° λλ¬Έμ μ°μ° μ λμΌν hashCode κ°μ΄ λμ€μ§ μκ² νκΈ°μν΄ μ¬μ©νλ€.
*31μ΄ ν΅μμ μΈ κ΄λ‘μ΄λ©° String ν΄λμ€μμλ μ¬μ©ν κ°μ΄λ€.
* */
final int PRIME = 31;
/*String ν΄λμ€μ΄ hashCode λ©μλ μ΄λ―Έ μ¬μ μκ° λμ΄μλ€.
* κ°μ κ°μ κ°μ§λ λ¬Έμμ΄μ λμΌν hashCodeκ°μ κ°μ§κ³ μλ€.
* */
result = PRIME * result + this.number;
result = PRIME * result + this.title.hashCode();
result = PRIME * result + this.author.hashCode();
result = PRIME * result + this.price;
return result;
}
Java
볡μ¬
*λλ±κ°μ²΄ μμ±*/
BookVO book1 = new BookVO(1,"νκΈΈλμ ", "νκ· ", 50000);
BookVO book2 = new BookVO(1,"νκΈΈλμ ", "νκ· ", 50000);
System.out.println("book1μ hashCode : " + book1.hashCode());
System.out.println("book2μ hashCode : " + book2.hashCode());
Java
볡μ¬
String ν΄λμ€
package com.greedy.section02.string;
public class Application1 {
public static void main(String[] args) {
/*String ν΄λμ€μμ μμ£Όμ¬μ©νλ λ©μλ
* 1.charAt() : ν΄λΉ λ¬Έμμ΄μ νΉμ μΈλ±μ€μ ν΄λΉνλ λ¬Έμλ₯Ό λ°ννλ€.
* μΈλ±μ€λ 0λΆν° μμνλ μ«μ 체κ³λ₯Ό μλ―Ένλ©°
* μΈλ±μ€λ₯Ό λ²μ΄λ μ μλ₯Ό μΈμλ‘ μ λ¬νλ κ²½μ°μλ
IndexOutOfBoundExceptionμ΄ λ°μνλ€.
* */
String str1 = "apple";
for(int i = 0 ; i < str1.length(); i++) {
System.out.println("charAt(" + i + ") : " + str1.charAt(i));
}
2. compartTo() : μΈμλ‘ μ λ¬ν λ¬Έμμ΄κ³Ό μ¬μ μμΌλ‘ λΉκ΅λ₯Ό νμ¬
* λ λ¬Έμμ΄μ΄ κ°μΌλ©΄ 0μ λ°ν, μΈμλ‘ μ λ¬ν λ¬Έμμ΄λ³΄λ€ μμΌλ©΄ μμλ₯Ό
* ν¬λ©΄ μμλ₯Ό λ°ννλ€.
* λ¨, μ΄ λ©μλλ λμλ¬Έμλ₯Ό ꡬλΆνλ©° λΉκ΅νλ€.
* */
String str2 = "java";
String str3 = "java";
String str4 = "JAVA";
String str5 = "oracle";
/*κ°μΌλ©΄ 0μ λ°ν*/
System.out.println("compareTo() : " + (str2.compareTo(str3)) );
/*λλ¬Έμμ μλ¬Έμλ 32λ§νΌ μ°¨μ΄κ° λλ€.*/
System.out.println("compareTo() : " + (str2.compareTo(str4)) );
System.out.println("compareTo() : " + (str4.compareTo(str2)) );
/*jklmno jλΆν° oκΉμ§ 5μΉΈ λ¨μ΄μ Έμλ€.*/
System.out.println("compareTo() : " + (str2.compareTo(str5)));
3. compareToIgnoreCase() : λμλ¬Έμλ₯Ό ꡬλΆνμ§ μκ³ λΉκ΅νλ€.*/
System.out.println("compareToIgnoreCase() : " + (str3.compareToIgnoreCase(str4)));
4.concat() : λ¬Έμμ΄μ μΈμλ‘ μ λ¬ λ λ¬Έμμ΄μ ν©μΉκΈ°ν΄μ
μλ‘μ΄ λ¬Έμμ΄μ λ°ννλ€.
* λ¨, μλ³Έ λ¬Έμμ΄μλ μν₯μ μ£Όμ§μλλ€.*/
System.out.println("concat() : " + (str2.concat(str5)));
System.out.println("str2:" + str2);
5.indexOf() : λ¬Έμμ΄μμ νΉμ λ¬Έμλ₯Ό νμνμ¬ μ²μ μΌμΉνλ μΈλ±μ€μμΉλ₯Ό
μ μνμΌλ‘ λ°ννλ€.
* λ¨ μΌμΉνλ λ¬Έμκ° μλκ²½μ° -1λ₯Ό λ°ν
* */
String indexOf = "java oracle";
String example = "apple iphone";
System.out.println("indexOf('a'): " + indexOf.indexOf('a'));
System.out.println("indexOf('z'): " + indexOf.indexOf('z'));
6.lastIndexOf() : λ¬Έμμ΄ νμμ λ€μμλΆν° νκ³ μ²μ μΌμΉνλ μμΉμ μΈλ±μ€λ₯Ό
μ μνμΌλ‘ λ°ννλ€.
* λ¨ μΌμΉνλ λ¬Έμμ΄μ΄ μλκ²½μ° -1μ λ°ννλ€.
* */
System.out.println("lastIndexOf('a') : " + indexOf.lastIndexOf('a'));
System.out.println("lastIndexOf('z') : " + indexOf.lastIndexOf('z'));
7.trim() : λ¬Έμμ΄ μ λ€μ 곡백μ μ κ±°ν λ¬Έμμ΄μ λ°ννλ€.
* μλ³Έμ μν₯μ μ£Όμ§ μλλ€.
* */
String trimStr = " java ";
System.out.println("trimStr : #" + trimStr + "#");
System.out.println("trim() : #" + trimStr.trim() + "#");
System.out.println("trimStr : #" + trimStr + "#");
8. toLowerCase() : λͺ¨λ λ¬Έμλ₯Ό μλ¬Έμλ‘ λ³νμν¨λ€.
9. toUpperCase() : λͺ¨λ λ¬Έμλ₯Ό λλ¬Έμλ‘ λ³νμν¨λ€.
* μλ³Έμλ μν₯μ μ£Όμ§ μλλ€.
* */
String caseStr = "JavaOracle";
System.out.println("toLowerCase() :" + caseStr.toLowerCase());
System.out.println("toUpperCase() :" + caseStr.toUpperCase());
System.out.println("caseStr :" + caseStr);
10. substring() : λ¬Έμμ΄μ μΌλΆλΆμ μλΌλ΄μ΄ μλ‘μ΄ λ¬Έμμ΄μ λ°ννλ€.
* μλ³Έμ μν₯μ μ£Όμ§ μλλ€
* */
String javaoracle = "javaoracle";
System.out.println("substring(3,6) : " + javaoracle.substring(3,6));
System.out.println("substring(3) : " + javaoracle.substring(3));
System.out.println("javaoracle : " + javaoracle);
String coronavirus = "coronavirus";
// System.out.println("subscring(2,5)" + coronavirus.substring(2,5));
11. replace() : λ¬Έμμ΄μμ λ체ν λ¬Έμμ΄λ‘ κΈ°μ€ λ¬Έμμ΄μ λ³κ²½ν΄μ λ³ννλ€.
* μλ³Έμλ μν₯μ μ£Όμ§ μλλ€.
* */
System.out.println("replace : " + coronavirus.replace("corona", "COVID-19"));
System.out.println("replaceA() : " + javaoracle.replace("java","phyton"));
System.out.println("javaoracle : " + javaoracle);
12. length() : λ¬Έμμ΄μ κΈΈμ΄λ₯Ό μ μνμΌλ‘ λ°ννλ€.*/
System.out.println("length : " + javaoracle.length());
System.out.println("λΉ λ¬Έμμ΄μ κΈΈμ΄ : " + "".length());
13.*isEmpty() : λ¬Έμμ΄μ κΈΈμ΄κ° 0μ΄λ©΄ true, μλλ©΄ false λ°ν
* κΈΈμ΄κ° 0μΈ λ¬Έμμ΄μ nullκ³Όλ λ€λ₯΄λ€
* */
System.out.println("isEmpty() : " + "".isEmpty());
System.out.println("isEmpty() : " + "abc".isEmpty());
}
}
Java
볡μ¬
λ¬Έμμ΄ λΆλ¦¬!
Spilit
split() : μ κ· ννμμ μ΄μ©νμ¬ λ¬Έμμ΄μ λΆλ¦¬νλ€.
λΉμ ννλ λ¬Έμμ΄μ λΆλ¦¬ν λ μ’μ§λ§ ex)"123/234#3290$211"
μ κ·ννμμ μ΄μ©νκΈ° λλ¬Έμ μλκ° λ리λ€λ λ¨μ μ κ°μ§κ³ μλ€. (μ κ· ννμ λΆλΆμ μλ°μμ λ€λ£¨μ§μκ³ μλ°μ€ν¬λ¦½νΈμμ λ€λ£° μμ μ΄λ€.)
String emp1 = "100/νκΈΈλ/μμΈ/μμ
λΆ";
String emp2 = "200/μ κ΄μ//μ΄λ¬΄λΆ";
String emp3 = "300/μ΄μμ /κ²½κΈ°λ/";
/*split()μ μ΄μ©ν λΆλ¦¬*/
String[] empArr1 = emp1.split("/");
String[] empArr2 = emp2.split("/");
String[] empArr3 = emp3.split("/");
for(int i = 0 ; i < empArr1.length; i++) {
System.out.println("empArr1[" + i + "] : " + empArr1[i]);
}
System.out.println();
for(int i = 0; i < empArr2.length; i++) {
System.out.println("empArr2[" + i + "] : " + empArr2[i]);
}
System.out.println();
for(int i = 0; i < empArr3.length; i++) {
System.out.println("empArr3[" + i + "] : " + empArr3[i]);
}
System.out.println();
-----------------
/*split()μ μ κ· ννμ μ΄μ©(λ¬Έμμ΄ ν¨ν΄), StringTokenizerλ ꡬλΆμ λ¬Έμμ΄ μ΄μ©*/
String colorStr = "red*orange#blue/yellow green";
/*[]λ νλ¬Έμλ₯Όμλ―Ένκ³ μμ μμ±νκΈ°νΈλ€μ κ·Έμ€ νλλ₯Ό ꡬλΆμλ‘ μ΄μ©νκ² λ€λ μλ―Έμ΄λ€.*/
String[] colors = colorStr.split("[*#/]");
for(int i = 0; i < colors.length; i++) {
System.out.println("colors[" + i + "] : " + colors[i]);
Java
볡μ¬
StringToknenizer
StringTokenizer : λ¬Έμμ΄μ λͺ¨λ λ¬Έμλ€μ ꡬλΆμλ‘ νμ¬ λ¬Έμμ΄μ λΆλ¦¬νλ€.
μ ννλ λ¬Έμμ΄ ν¨ν΄μ λΆλ¦¬ν λ μ¬μ©νκΈ° μ’λ€.
split()λ³΄λ€ μλλ©΄μμ λΉ λ₯΄λ€.
ꡬλΆμλ₯Ό μλ΅νλ κ²½μ° κ³΅λ°±μ΄ κΈ°λ³Έ ꡬλΆμλ‘ μ¬μ©λλ€.
/*StringTokenizer μ΄μ©*/
StringTokenizer st1 = new StringTokenizer(emp1,"/");
StringTokenizer st2 = new StringTokenizer(emp2,"/");
StringTokenizer st3 = new StringTokenizer(emp3,"/");
while(st1.hasMoreTokens()) {
System.out.println("st1 : " + st1.nextToken());
}
System.out.println();
/*nextToken()μΌλ‘ ν ν°μ κΊΌλ΄λ©΄ StringTokenizerμ ν ν°μ μ¬μ¬μ©νλ κ²μ΄ λΆκ°λ₯νλ€.
while(st1.hasMoreTokens()) {
System.out.println("st1 : μ¬μ¬μ©" + st1.nextToken());
}
System.out.println("--------");
/*μ€κ°μ λΉμ΄μλ κ°μ ν΄λΉνλ ν ν°μ 무μνλ€.*/
while(st2.hasMoreTokens()) {
System.out.println("st2 : " +st2.nextToken());
}
while(st3.hasMoreTokens()) {
System.out.println("st3 : " + st3.nextToken());
}
Java
볡μ¬
μ΄μ€μΌμ΄νλ¬Έμ
StringBuilder λ String Buffer
λ ν΄λμ€λ μ€λ λ λκΈ°ν κΈ°λ₯μ 곡 μ¬λΆμ λ°λΌ μ°¨μ΄μ μ΄ μλ€.
StringBulider : μ€λ λ λκΈ°ν κΈ°λ₯ μ 곡νμ§μμ
μ€λ λ λκΈ°νμ²λ¦¬λ₯Ό κ³ λ €νμ§μλ μν©μμ SrtringBufferλ³΄λ€ μ±λ₯μ΄ μ’μ
StringBuffer : μ€λ λ λκΈ°ν κΈ°λ₯ μ 곡ν¨
StringBuilderλ³΄λ€ μ±λ₯λ©΄μμ λλ¦Ό
λκΈ°νλ????
νλμ μ€λ λκ° μ¬μ©νκ³ μμλ λ€λ₯Έμ€λ λκ° μ κ·Όμλͺ»νκ²νλκ²μ λκΈ°νλΌκ³ νλ€
Stringκ³Ό StringBuilderμ μ°¨μ΄
Stringκ³Ό StringBulider
* String : λΆλ³μ΄λΌλ νΉμ±μ κ°μ§κ³ μλ€.
* λ¬Έμμ΄ + μ°μ°μΌλ‘ ν©μΉκΈ° νλ κ²½μ°, κΈ°μ‘΄ μΈμ€ν΄μ€λ₯Ό μμ νλ κ²μ΄ μλ
* μλ‘μ΄ μΈμ€ν΄μ€λ₯Ό λ°ννλ€.
* λ°λΌμ λ¬Έμμ΄ λ³κ²½μ΄ μμ£Ό μΌμ΄λλ κ²½μ° μ±λ₯ λ©΄μμ μ’μ§ μλ€.
* νμ§λ§ λ³νμ§ μλ λ¬Έμμ΄μ μμ£Ό μ½μ΄λ€μ΄λ κ²½μ°μλ
μ€νλ € μ’μ μ±λ₯μ κΈ°λν μ μλ€.
*
* StringBuilder : κ°λ³μ΄λΌλ νΉμ±μκ°μ§κ³ μλ€.
* λ¬Έμμ΄ append() λ©μλλ₯Ό μ΄μ©νμ¬ ν©μΉκΈ° νλ κ²½μ°
* κΈ°μ‘΄ μΈμ€ν΄μ€λ₯Ό μμ νκΈ° λλ¬Έμ μλ‘μ΄ μΈμ€ν΄μ€λ₯Ό μμ±νμ§ μλλ€.
* λ°λΌμ μ¦μλ¬Έμμ΄ λ³κ²½μ΄ μΌμ΄λλ κ²½μ° Stringλ³΄λ€ μ±λ₯μ΄ μ’λ€.
*
* λ¨ ,jdk 1.5 λ²μ μμλ λ¬Έμμ΄μ + μ°μ°μ΄ StirngBuilderμ append()λ‘ μ»΄νμΌμ΄ λλ€.
* λ°λΌμ μ±λ₯μ ν°μ°¨μ΄λ₯Ό 보μ΄μ§ μλλ€.
* νμ§λ§ λ°λ³΅λ¬Έμμ λ¬Έμμ΄μ + μ°μ°μ μννλ κ²½μ° StringBuilder μΈμ€ν΄μ€λ₯Ό
* λ°λ³΅ 루νμλ§λ€ μμ±νκΈ° λλ¬Έμ μ±λ₯μλ μ’μ μν₯μ μ£Όμ§ μλλ€.
*
* μμ»΄νμΌ κ²°κ³Ό μμ
*
* μλ³Έμ½λ
* -------------------------------------------
* String str1 = "java";
* String str2 = "oracle"
*
* String str3 = str1 + str2;
* String str4 = "";
*
* for(int i = 0 ; i < 10; 1++){
* str4 += str1;
* }
*
*
* ----------------------------------------------
*
*
*
* jdk1.4μ΄ν
* --------------------------------------
* String str1 = "java"
* String str2 = "oracle"
*
* String str3 = str1 + str2;
* String str4 = "";
*
* for(int i = 0; i < 10; i++){
* str4 = str4 + str1;
* }
* ------------------------------------------------
*
*
* jdk 1.5 μ΄μ
* -------------------------------------------------
* String str1 = "java";
* String str2 = "oracle";
*
* String str3 = new StringBuilder(str1).append(str2).toString();
* String4 = "";
*
* StringBuilder sb = new StringBuilder(str4);
*μ€μ*
λ°λ³΅λ¬Έμ new StringBuilder(str4)κ° μλ
sbλ‘ μ μΈνμ¬ μ¬μ©ν΄μ£Όλκ² μ±λ₯λ©΄μμμ’λ€
* for(int i = 0 ; i < 10; i++) {
* str4 = sb.append(str1).toString();
* }
* ----------------------------------------------------
* */
Java
볡μ¬
StringBuilderμ μμ£Ό μ¬μ©λλ λ©μλ
1.
capacity() : μ©λ(νμ¬ λ²νΌμ ν¬κΈ°)μ μ μνμΌλ‘ λ°ννλ λ©μλ(κΈ°λ³Έ 16)
StringBuilder sb1 = new StringBuilder();
System.out.println(sb1.capacity());
Java
볡μ¬
2. append() : μΈμλ‘ μ λ¬ λ κ°μ λ¬Έμμ΄λ‘ λ³ν ν κΈ°μ‘΄ λ¬Έμμ΄μ λ§μ§λ§μ μΆκ°νλ€.
κΈ°λ³Έ μ©λμ μ΄κ³Όνλ κ²½μ° ( κΈ°μ‘΄ λ¬Έμμ΄ + 1 ) * 2 λ₯Ό νμ¬ μ©λμ νΉμ₯μν¨λ€.
sb1.append("java");
System.out.println("sb1 : " + sb1);
Java
볡μ¬
3 .delete()
: μμ μΈλ±μ€μ μ’
λ£ μΈλ±μ€λ₯Ό μ΄μ©ν΄μ λ¬Έμμ΄μμ μνλ λΆλΆμ λ¬Έμμ΄μ μ κ±°νλ€.
deletaCharAt() : λ¬Έμμ΄ μΈλ±μ€λ₯Ό μ΄μ©ν΄μ λ¬Έμ νλλ₯Ό μ κ±°νλ€.
System.out.println("delete() : " + sb2.delete(2, 5) );
System.out.println("deleteCharAt() : " + sb2.deleteCharAt(0));
System.out.println("sb2 : " + sb2);
Java
볡μ¬
4. insert() : μΈμλ‘ μ λ¬λ κ°μ λ¬Έμμ΄λ‘ λ³ν ν μ§μ ν μΈλ±μ€ μμΉμ μΆκ°νλ€.
μλ³Έμ μν₯μ λΌμΉλ€.
/*insert() : μΈμλ‘ μ λ¬λ κ°μ λ¬Έμμ΄λ‘ λ³ν ν μ§μ ν μΈλ±μ€ μμΉμ μΆκ°νλ€.
* μλ³Έμ μν₯μ λΌμΉλ€.*/
System.out.println("insert() : " + sb2.insert(1, "vao"));
System.out.println("insert() : " + sb2.insert(0,"j"));
System.out.println("sb2 : " + sb2);
System.out.println("insert() : " + sb3.insert(0, "coro"));
System.out.println("insert() : " + sb3.insert(7, "i"));
/*μΈλ±μ€ λ²νΈκ° λ¬Έμμ΄ κΈ°λ¦¬μ΄μ κ°μκ²½μ° append()μ λμΌνμν μ νλ€.*/
System.out.println("insert() : " +sb2.insert(sb2.length(),"jabc"));
Java
볡μ¬
5. reverse() : λ¬Έμμ΄ μΈλ±μ€ μλ²μ μμμΌλ‘ μ¬λ°°μ΄νλ€.
μλ³Έμ μν₯μ λ―ΈμΉ¨
/*reverse() : λ¬Έμμ΄ μΈλ±μ€ μλ²μ μμμΌλ‘ μ¬λ°°μ΄νλ€.
* μλ³Έμ μν₯μ λ―ΈμΉ¨
* */
System.out.println("reverse() : " + sb2.reverse());
System.out.println("sb2 :" + sb2);
Java
볡μ¬
WRAPPER ν΄λμ€
β’
μν©μ λ°λΌ κΈ°λ³Έ νμ
μ λ°μ΄ν°λ₯Ό μΈμ€ν΄μ€ν ν΄μΌ νλ κ²½μ°λ€μ΄ λ°μνλ€.
β’
κΈ°λ³Έ νμ
μ λ°μ΄ν°λ₯Ό λ¨Όμ μΈμ€ν΄μ€λ‘ λ³ν ν μ¬μ©ν΄μΌ νλλ°
β’
8κ°μ§μ ν΄λΉνλ κΈ°λ³Έ νμ
μ λ°μ΄ν°λ₯Ό μΈμ€ν΄μ€ν ν μ μλλ‘ νλ
ν΄λμ€λ₯Ό λνΌν΄λμ€ λΌκ³ νλ€
BOXINGκ³Ό UNBOXING
*λ°μ±(Boxing)κ³Ό μΈλ°μ±(UnBoxing)
* κΈ°λ³Ένμ
μ λνΌν΄λμ€μ μΈμ€ν΄μ€λ‘ μΈμ€ν΄μ€ν νλ κ²μ λ°μ±(Boxing)μ΄λΌκ³ νλ©°,
* λνΌν΄λμ€ νμ
μ μΈμ€ν΄μ€λ₯Ό κΈ°λ³Ένμ
μΌλ‘ λ³κ²½νλ κ²μ μΈλ°μ±(Unboxing)μ΄λΌκ³ νλ€.
* */
*μ€ν λ°μ±(AutoBoxing)κ³Ό μ€ν μΈλ°μ±(AutoUnBoxing)μ
* JDK 1.5 λΆν° λ°μ±κ³Ό μΈλ°μ±μ΄ νμν μν©μμ μλ° μ»΄νμΌλ¬κ°
μ΄λ₯Ό μλμΌλ‘ μ²λ¦¬ν΄μ€λ€.
* μ΄λ° μλνλ λ°μ±κ³Ό μΈλ°μ±μ μ€ν λ°μ±, μ€ν μΈλ°μ±μ΄λΌκ³ λΆλ₯Έλ€.
* */
int intValue = 20;
Integer boxingNumber1 = new Integer(intValue);
//μΈμ€ν΄μ€ν - λ°μ±(Boxing) //μμ±μ
Integer boixngNumber2 = Integer.valueOf(intValue); //staticλ©μλμ΄μ©
Integer boxingNumber3 = intValue; //μ€ν λ°μ±
int unBoxingNumber1 = boxingNumber1.intValue(); //μΈλ°μ±(UNBOXIGN)
int unBoxingNumber2 = boxingNumber3; //μ€ν μΈλ°μ±
Java
볡μ¬
Calender ν΄λμ€
*Calendar ν΄λμ€λ abstract ν΄λμ€λ‘ μμ±λμ΄ μκΈ° λλ¬Έμ
*λ°λΌμ Calendar ν΄λμ€λ₯Ό μ΄μ©ν΄μ μΈμ€ν΄μ€λ₯Ό μμ±νλκ²μ΄ λΆκ°λ₯νλ€.
**/
* Calendar ν΄λμ€λ₯Ό μ΄μ©ν μΈμ€ν΄μ€ μμ±λ°©λ²μλ λκ°μ§ λ°©λ²μ΄ μλ€.
* 1.getInstance() static λ©μλλ₯Ό μ΄μ©ν΄μ μΈμ€ν΄μ€λ₯Ό λ°νλ°λ λ°©λ²
* 2.νμν΄λμ€μΈ GreogorianCalendar ν΄λμ€λ₯Ό μ΄μ©νμ¬ μΈμ€ν΄μ€λ₯Ό μμ±νλ λ°©λ²
* */
1. getInstance static λ©μλ μ΄μ©*/
// Calendar calendar = new Calendar(); // μΆμν΄λμ€λ‘ μΈμ€ν΄μ€μμ±λΆκ°.
Calendar calendar = Calendar.getInstance();
System.out.println(calendar);
--------------------------------------------------------------------
2. GrogorianCalendar μ΄μ©νλ λ°©λ²*/
2-1 κΈ°λ³Έμμ±μ μ¬μ©*/
Calendar gregorianCalendar = new GregorianCalendar();
System.out.println(gregorianCalendar);
*2-2. λ
, μ, μΌ, μ, λΆ, μ΄ μ 보λ₯Ό μ΄μ©ν΄μ μΈμ€ν΄μ€λ₯Ό μμ±
* 2014λ
9μ 18μΌ 16μ 42λΆ 00μ΄ (μμ 0μ΄ 1μμ΄λ€ κ·Έλμ 0~11κΉμ§λ§ μ·¨κΈ)*/
int year = 2014;
int month = 8; //(μμ 0μ΄ 1μμ΄λ€ κ·Έλμ 0~11κΉμ§λ§ μ·¨κΈ, μ¦ 8μ΄ 9μμ μλ―Έ)
int dayOfMonth = 18;
int hour = 16;
int min = 42;
int second = 0;
Calendar birthDay = new GregorianCalendar(year,month, dayOfMonth, hour, min, second);
System.out.println(12);
System.out.println(birthDay);
* μν©μ λ°λΌ νΉμ μΌμλ₯Ό κΈ°μ€μΌλ‘ ν Date νμ
μ μΈμ€ν΄μ€κ° νμν κ²½μ°λ μλ€.
* λ¨Όμ GregorianCalendarλ₯Ό μ΄μ©ν΄μ νΉμ λ μ§/μκ° μ λ³΄λ‘ μΈμ€ν΄μ€λ₯Ό μμ± ν ν
* 1970λ
1μ 1μΌ μμ μ κΈ°μ€μΌλ‘ μ§λ μκ°μ millisecondλ‘ κ³μ°ν΄μ
longνμΌλ‘ λ°νΈλνλ λ©μλκ° μλ€.*/
System.out.println(birthDay.getTimeInMillis());
Date date = new Date(birthDay.getTimeInMillis());
System.out.println(date);
Date date2 =
new Date(new GregorianCalendar(year, month, dayOfMonth, hour, min ,second)
.getTimeInMillis());
System.out.println(date2);
Java
볡μ¬
μμ±ν μΈμ€ν΄μ€μ νλ μ 보λ₯Ό Calendar ν΄λμ€μ get()λ©μλλ‘ λ°ν λ°μ μ μλ€.
int birthYear = birthDay.get(1);
int birthYear2 = birthDay.get(Calendar.YEAR);
int birthMonth2 = birthDay.get(2);
int birthMonth = birthDay.get(Calendar.MONTH);
int birthDayofMonth = birthDay.get(Calendar.DAY_OF_MONTH);
int birthDayofMonth2 = birthDay.get(3);
Java
볡μ¬
μμΌ - μΌ(1), μ(2), ν(3), μ (4), λͺ©(5), κΈ(6), ν (7)
System.out.println("dayOfWeek : " + birthDay.get(Calendar.DAY_OF_WEEK));
String day = "";
switch(birthDay.get(Calendar.DAY_OF_WEEK)) {
case Calendar.SUNDAY : day = "μΌ"; break;
case Calendar.MONDAY : day = "μ"; break;
case Calendar.TUESDAY : day = "ν"; break;
case Calendar.WEDNESDAY: day = "μ "; break;
case Calendar.THURSDAY : day = "λͺ©"; break;
case Calendar.FRIDAY : day = "κΈ"; break;
case Calendar.SATURDAY : day = "ν "; break;
}
System.out.println("μμΌ : " + day);
System.out.println("amPm : " + birthDay.get(Calendar.AM_PM));
System.out.println(birthDay.get(Calendar.AM_PM) == Calendar.AM ? "μ€μ " : "μ€ν");
System.out.println("hourOfDay : " + birthDay.get(Calendar.HOUR_OF_DAY));
System.out.println("hour : " + birthDay.get(Calendar.HOUR));
System.out.println("min : " + birthDay.get(Calendar.MINUTE) );
System.out.println("second : " + birthDay.get(Calendar.SECOND));
}
Java
볡μ¬