본문 바로가기

JAVA/DAY 16 _ 23.09.07

API _ String

# isEmpty, isBlank

if(str4.isEmpty()) {	// String a = ""; 이거인 상태일때 true -> null이랑은 다르지!!!
    System.out.println("문자열이 비어있니?");
}

if(str4.isBlank()) {	// String a = "      "; 이거인 상태일때 true
    System.out.println("문자열이 비어있는데 blank가 있니?");
}

 

# length

System.out.println(str4.length() + "이것은 길이를 확인하는 API");

 

# replaceAll (불변객체 -> 자기자신을 변수로 받으면 원본도 변경된다!!!)

String s = str4.replaceAll("ell", "이걸로 바꾸겠어");
System.out.println(s);
System.out.println(str4);		// 이렇게 다른 변수로받으면 원본은 수정안됐지

str4 = str4.replaceAll("ell", "이걸로 바꾸겠어");	// 불변객체니까는...
System.out.println(str4);		// 본인으로 받으면 원본이 바뀌겠지~

 

# startsWith

if(str4.startsWith("qqq")) {
    System.out.println("qqq로 시작하니?");
}

if(str4.startsWith("ㅂㅂㅂ", 3)) {
    System.out.println("str4의 세 번째 문자부터 시작하여 일치하는지 확인");
}

 

# indexOf

int q1 = str4.indexOf("aa");		// aa라는 글짜가 str4에서 몇번째에 위치해있니?
System.out.println("aa라는 글자는 " + q1 + "번째에 있다");

int q2 = str4.indexOf(",");
System.out.println("앞에있는 ,는 " + q2 + "번째에 있다");

int q3 = str4.lastIndexOf(",");
System.out.println("뒤에있는 ,는 " + q3 + "번째에 있다");

 

# split

String [] arr = str4.split(",");	// 콤마를 기준으로 문자를 나눠서 배열에 넣겠어

 

# substring (begin, end 두가지버젼)

String newStr4 = str4.substring(5);
System.out.println(newStr4 + "앞의 5글자가 삭제되고 리턴됐다구. 공백포함인듯?");

 

Q. .jpg만 출력하고싶어

String fileName = "qwee.jflksdjf.jpg";
//	int findDot = fileName.lastIndexOf("."); --> 이렇게 할필요없이
//	System.out.println(findDot);

String answer = fileName.substring(fileName.lastIndexOf("."));	// 한번에 작성가능
System.out.println(answer);

 

## trim
// Q. "     아이유      " 누군가 이렇게 검색해버렸어?

String searchWord = "     아이유      ";
searchWord = searchWord.trim();		// 정말 트림하네 ㅋㅋㅋㅋㅋ 개귀엽다
System.out.println(searchWord);

 

 

## toLowerCase, toUpperCase --> 문자열을 소문자로, 대문자로 만들겠다
// Q. hello를 검색하고 싶어. 근데 대소문자 섞여있어.

searchWord = "heLLo";

if(searchWord.equals("hello")) {
    System.out.println("이건 false가 나오겠지");
}

if(searchWord.toLowerCase().equals("heLLo".toLowerCase())) {
     System.out.println("searchWord를 소문자로 바꾼게 heLLo를 소문자로 바꾼거랑 같니?");
}

 

**메소드체이닝 

--> 체인거는것처럼 계~속 메서드를 호출할 수 있다구. (나온 결과를 보고, 그다음 체인을 결과때리고, 그다음....)

str4.lastIndexOf((int)Math.random()); // --> 이건 체이닝이 아니야. 그냥 호출한거여(안쪽부터 시행)

// ex)
str4.trim().trim().substring(str4.lastIndexOf(1)).trim().trim();
// ---> last부터 시행, 앞부터 주르륵 시행~

'JAVA > DAY 16 _ 23.09.07' 카테고리의 다른 글

불변/가변객체1  (0) 2023.09.19
불변/가변객체2  (0) 2023.09.19
라이브러리  (0) 2023.09.19
Enum(열거형)  (0) 2023.09.19
Class 설계원칙  (0) 2023.09.19