Загружаем каталог…
Загружаем каталог…
기본 1. String ↔ char[] String s = "abc"; char[] arr = s.toCharArray(); String t = new String(arr); 2. 문자열 찾기 String s = "abcabcdef"; s.contains("abc"); // true s.startsWith("ab"); // true s.endsWith("yz"); // false int idx = s.indexOf("abc"); // 0 int last = s.lastIndexOf("abc"); // 3 만약 못 찾으면? -1 3. StringBuilder 문자열을 반복해서 조작한다면 그냥 이거 쓰자. 그냥 String 은 불변이라 매번 새 객체를 만들 가능성이 커서 비효율적이다. StringBuilder sb = new StringBuilder(); sb.append("abc"); sb.append(123); sb.append('x'); String res = sb.toString(); // abc123x 삭제, 삽입 sb.deleteCharAt(i); sb.delete(l, r); sb.insert(i, "abc"); 뒤집기, 특정 문자 sb.reverse(); sb.charAt(i); sb.setCharAt(i, 'x'); 불변인 문자열은 수정이 안되는데 StringBuilder 는 setCharAt() 으로 가능하다. 4. 문자열 자르기 String s = "a,b,c"; String[] parts = s.split(","); 단, 정규식이기 때문에 . | + * ? ( ) [ ] { } ^ $ 는 예상과 다른 결과가 나올 수 있음에 유의 그럴 때는 아래처럼 escape 처리해준다. String s = "a.b.c"; String[] parts = s.split("\\."); 5. 숫자 ↔ 문자열 int x = Integer.parseInt("123"); String s1 = String.valueOf(123); 활용 1. 회문 검사 boolean palindrome = true; for (int l=0, r=s.length()-1; l<r; l++, r--) { if (s.charAt(l) != s.charAt(r)) { palindrome = false; break; } } StringBuilder.reverse() 써도 된다. 2. 애너그램 판별 char[] a1 = a.toCharArray(); char[] a2 = b.toCharArray(); Arrays.sort(a1); Arrays.sort(a2); boolean same = Arrays.equals(a1, a2);
То, что RADAR обнаружил и классифицировал для этой возможности. Это опубликованный источником текст, а не подтверждение, что предложение ещё действует.
[Java] 문자열 처리. 기본 1. String ↔ char[] String s = "abc"; char[] arr = s.toCharArray(); String t = new String(arr); 2. 문자열 찾기 String s = "abcabcdef"; s.contains("abc"); // true s.startsWith("ab"); // true s.endsWith("yz"); // false int idx = s.indexOf("abc"); // 0 int last = s.lastIndexOf("abc"); // 3 만약 못 찾으면? -1 3. StringBuilder 문자열을 반복해서 조작한다면 그냥 이거 쓰자. 그냥 String 은 불변이라 매번 새 객체를 만들 가능성이 커서…