# 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 |