String method
by 핫도구JAVA에서 String 뿐 아니라 많은 클래스에는 다양한 메서드들이 존재한다.
간단한 예들을 보자
String name = "Victor";
String city = "MexicoCity";
String country = " I love Mexico ";
System.out.printf("charAt => %s, %s \n ", name.charAt(0), city.charAt(5)); // V, o
System.out.printf("indexOf => %d, %d, %d, %d \n ", name.indexOf("o"), city.indexOf("i"), country.indexOf("E"), country.indexOf("o", 20)); // 4, 3, -1, -1
System.out.printf("substring => %s, %s \n", country.substring(0, 9), country.substring(10)); // I love, Mexico
System.out.printf("trim => %s, %s \n", city.trim(), country.trim()); MexicoCity, I love Mexico
charAt( )은 ()에 int type의 수가 들어갈 수 있고 그 숫자와 같은 인덱스의 글자가 나타난다.
indexOf( )는 ()에 글자가 들어갈 수 있고 몇변째 인덱스인지 보여준다. 만약에 존재하지 않는다면 -1을 반환한다.
indexOf( , )는 글자와, int type의 숫자가 들어갈 수 있다. 이를 통해 숫자와 같은 인덱스 이후에 앞에 사용된 글자와 같은 인덱스를 반환한다.
substring( )은 안에 숫자(인덱스)가 들어갈 수 있고 인덱스 이후의 글자가 반환된다.
substring( a , b )은 안에 숫자들(인덱스)가 들어갈 수 있고 a 이상 b 미만의 글자를 반환한다.
trim()은 앞과 뒤에 있는 공백을 제거한다.
문자열을 변경하는 메서드는 toLowerCase(), toUpperCase(), replace(), split() 등이 존재한다.
String name = "Victor";
String city = "MexicoCityeee";
String country = " I!love!Mexico ";
System.out.printf("toLowerCase => %s, toUpperCase => %s \n ", name.toLowerCase(), city.toUpperCase()); // victor, MEXICOCITYEEE
System.out.println("city에서 Mexico만 대문자로 출력 => "+city.substring(0, city.indexOf("o")+1).toUpperCase());// MEXICO
System.out.printf("replace => %s, %s, %s \n ", country.replace("Mexico", "멕시코"), city.replace("e", "s"), name.replace("r", "rr"));
// I!love!멕시코 , MsxicoCitysss, Victorr
String[] ss = country.split("!");
System.out.println("split1 => " + Arrays.toString(ss)); // [ I, love, Mexico ]
ss = country.trim().split("!");
System.out.println("split2 => " + Arrays.toString(ss));//[I, love, Mexico]
int i = 100, j = 123;
//name = (String)(i + j); // type mismatch 오류, (String)이 있으면 can't cast
name = String.valueOf(i+j); // 223
double d = 3.324;
name = String.valueOf(d); // 3.324
name = String.valueOf(true); // true
name = String.valueOf(i > j); // false
name = "abc";
System.out.println("compareTo1 => "+name.compareTo("abc"));//0
System.out.println("compareTo2 => "+name.compareTo("ab"));//1
System.out.println("compareTo3=> "+name.compareTo("a"));//2
System.out.println("compareTo4 => "+name.compareTo("bc"));//-1
System.out.println("compareTo5 => "+name.compareTo("c"));//-2
System.out.println("compareTo6 => "+name.compareTo("abcabc"));//-3
System.out.println("compareTo7 => "+name.compareTo("abcabcd"));//-4
System.out.println("compareTo8=> "+name.compareTo("love"));//-11
System.out.println("포함확인1 => "+country.contains("Mexico")); // true
System.out.println("포함확인2 => "+country.contains("mexico")); // false
toLowerCase(), toUpperCase(), replace(), split()에 대한 것은 JS와 같기 때문에 설명은 생략한다.
valueOf()는 () 안에 있는 값을 String Type으로 변환해주는 메서드이다.
또한 compareTo는 모두 동일성 비교를 통해 같으면 0 이전이면 음수, 이후면 양수
즉, 사전순서로 봤을 때 기준보다 이전에 있으면 양수, 이후에 있으면 음수라고 생각하면 편하다.
그리고, 아스키코드를 사용하여 첫문자의 차이를 숫자로 표현한다
예를들어, 위의 예제처럼 abc와 비교했을 때 love는 이후에 있으므로 음수, a와 l의 아스키코드의 차이가 11이므로
-11이 된다.
'JAVA > OLD' 카테고리의 다른 글
| Set(HashSet, TreeSet, LinkedHashSet) (0) | 2024.07.29 |
|---|---|
| List 인터페이스 (ArrayList & LinkedList) (0) | 2024.07.29 |
| Generic (0) | 2024.07.27 |
| StringBuffer & StringBuilder (0) | 2024.07.27 |
| String's Basic (0) | 2024.07.27 |
블로그의 정보
AquaMan
핫도구