Java String (문자열)
문자들의 연속된 시퀀스로, String 클래스에 의해 구현된 참조 자료형이다.
문자열은 immutable(불변) 특성을 가지므로, 한 번 생성된 문자열은 수정할 수 없다.
Java에서는 문자열을 큰따옴표(" ")로 감싸서 표현한다.
String 클래스는 java.lang 패키지에 포함되어 있어 별도로 임포트할 필요가 없다.
String greeting = "Hello, World!";
문자열을 생성하면 Java는 먼저 문자열 풀에서 같은 값의 문자열이 있는지 확인한 후,
동일한 문자열이 없을 때만 새로 생성한다.
즉, 동일한 문자열 리터럴이 재사용되어 메모리를 절약한다.
문자열 길이
문자열의 길이는 length() 메서드를 사용해 얻는다.
String str = "Hello";
int length = str.length(); // 5
대소문자 변환
- 대문자로 변환: toUpperCase()
- 소문자로 변환: toLowerCase()
String str = "Java";
String upper = str.toUpperCase(); // "JAVA"
String lower = str.toLowerCase(); // "java"
포함 관계 확인
문자열에 특정 문자열이나 문자가 포함되어 있는지 확인할 때 contains() 메서드를 사용한다.
String str = "Hello, World!";
boolean containsHello = str.contains("Hello"); // true
위치 정보
- 특정 문자의 첫 번째 위치는 indexOf() 메서드를, 마지막 위치는 lastIndexOf() 메서드를 사용하여 찾는다.
- 특정 위치의 문자도 charAt() 메서드로 접근할 수 있다.
String str = "Hello, World!";
int firstIndex = str.indexOf("o"); // 4
int lastIndex = str.lastIndexOf("o"); // 8
char charAt2 = str.charAt(2); // 'l'
문자열 변환
다른 자료형을 문자열로 변환할 때 String.valueOf() 메서드를 사용한다.
int number = 100;
String numberStr = String.valueOf(number); // "100"
문자열의 시작과 끝 검사
- 특정 문자열로 시작하는지 확인: startsWith()
- 특정 문자열로 끝나는지 확인: endsWith()
String url = "https://example.com";
boolean startsWithHttps = url.startsWith("https"); // true
boolean endsWithCom = url.endsWith(".com"); // true
공백 제거
- 문자열 양 끝의 공백을 제거: trim()
- 모든 공백을 제거하려면 replace() 메서드와 정규 표현식을 사용하여 제거할 수 있다.
String str = " Hello, World! ";
String trimmed = str.trim(); // "Hello, World!"
String noSpaces = str.replace(" ", ""); // "Hello,World!"
String noAllSpaces = str.replaceAll("\\s", "");// "Hello,World!"
문자열 비교
- 내용 비교: equals() 메서드로 두 문자열의 내용이 같은지 비교한다.
- 대소문자 무시하고 비교: equalsIgnoreCase()
- 사전순 비교: compareTo()
String str1 = "Java";
String str2 = "java";
boolean isEqual = str1.equals(str2); // false
boolean isEqualIgnoreCase = str1.equalsIgnoreCase(str2); // true
int comparison = str1.compareTo(str2); // -32
추가적인 유용한 메서드
문자열 결합: concat() 또는 + 연산자로 문자열을 결합한다.,
String str1 = "Hello, ";
String str2 = "World!";
String combined = str1.concat(str2); // "Hello, World!"
문자열 자르기: substring()으로 문자열의 특정 부분을 추출한다.
String str = "Hello, World!";
String sub = str.substring(7); // "World!"
String subRange = str.substring(0, 5); // "Hello"
문자열 치환: replace() 메서드를 사용하여 문자열의 일부를 다른 문자열로 바꿀 수 있다.
String str = "Java is fun!";
String replacedStr = str.replace("fun", "awesome"); // "Java is awesome!"
문자열 분리: split() 메서드를 사용해 문자열을 특정 구분자로 나눌 수 있다.
String csv = "apple,banana,cherry";
String[] fruits = csv.split(","); // {"apple", "banana", "cherry"}
'Java' 카테고리의 다른 글
Java 반복문 (for, while, do while, 다중 반복문) (1) | 2024.11.15 |
---|---|
Java 조건문 (if, if else, switch case) (0) | 2024.11.14 |
Java 배열 (Array) (0) | 2024.11.13 |
Java 형 변환 (Type Casting) (0) | 2024.11.12 |
Java 변수와 상수 (0) | 2024.11.12 |