Java/문자열38 [Java]StringBuilder, StringBuffer 차이점 StringBuilder, StringBuffer StringBuilder와 StringBuilder는 변경 가능(mutable)한 속성을 가지는 클래스이며, 문자열을 버퍼로 관리합니다. 문자열을 추가, 변경, 삭제하는 경우 Heap 영역에 새로운 공간을 할당하지 않고 기존 공간의 크기를 변경합니다. String과 달리 불필요한 메모리 공간을 생성하지 않으므로 GC(가비지 컬렉션)이 처리해야 하는 작업이 줄어듭니다. 이번 포스팅은 어디까지나 StringBuilder 클래스와 StringBuffer 클래스의 차이점을 소개하는 게 목적이므로 String에 대해 언급하지 않습니다. StringBuilder, StringBuffer 클래스의 동작 방식, String과 차이점에 대한 내용은 아래 포스팅에서 확인할.. Java/문자열 2022. 9. 10. [Java]StringBuffer 클래스 사용 방법 StringBuffer 클래스 사용 방법 Java에서 제공하는 StringBuffer 클래스는 멀티 스레드에서 안전한 클래스입니다. 여러 스레드가 StringBuffer 객체에 접근할 수 없기 때문입니다. StringBuffer 클래스는 문자열을 추가, 삭제, 변경할 수 있는 메서드를 제공하며, String 클래스보다 우수한 성능을 지니고 있습니다. 이번 포스팅은 StringBuffer 클래스에 대한 설명과 사용 방법을 소개합니다. String 클래스의 문제점 String 클래스는 불변(Immutable) 클래스입니다. 기존 문자열 변수의 값을 변경하면, 기존 문자열을 변경하지 않고 새로운 문자열을 생성하기 때문입니다. 위 내용을 이해하기 쉽게 다음 소스 코드를 확인해봅시다. public static v.. Java/문자열 2022. 9. 10. [Java]StringBuilder 클래스 사용 방법 StringBuilder 클래스 사용 방법 Java에서 제공하는 StringBuilder 클래스는 단일 스레드에서는 안전하지만, 멀티 스레드에서는 불안전한 클래스입니다. StringBuilder 클래스는 문자열을 추가, 삭제, 변경할 수 있는 메서드를 제공하며, String 클래스보다 우수한 성능을 지니고 있습니다. 이번 포스팅은 StringBuilder 클래스에 대한 설명과 사용 방법을 소개합니다. String 클래스의 문제점 String 클래스는 불변(Immutable) 클래스입니다. 기존 문자열을 변경하지 않고 새로운 문자열을 생성하기 때문이죠. 예를 들어, 다음 소스 코드를 확인해봅시다. public static void main(String args[]) { String str = "Hello".. Java/문자열 2022. 9. 8. [Java]StringTokenizer 클래스 사용 방법 StringTokenizer 클래스 java.util 패키지에 존재하는 StringTokenizer 클래스는 문자열을 특정 구분 기호를 기준으로 분할하며, 분할된 문자열을 토큰(Token)이라고 말합니다. StringTokenizer 생성자 StringTokenizer 클래스는 세 가지 형태의 생성자 함수를 가지고 있습니다. 생성자 1. StringTokenizer(String str) 첫 번째 생성자 함수는 매개변수로 전달받은 문자열에 대해 문자열 토큰을 생성합니다. 문자열을 구분하는 기호는 탭(\t), 줄 바꿈(\n), 캐리지 리턴(\r), 폼 피드(\f)입니다. public StringTokenizer(String str); 다음 예제는 StringTokenizer 클래스의 첫 번째 생성자 함수에 .. Java/문자열 2022. 9. 8. [Java]실수를 문자열로 변환(Double to String) 실수를 문자열로 변환하는 방법 이번 포스팅은 Java에서 실수를 문자열로 변환하는 몇 가지 방법을 소개합니다. 방법 1. FloatingDecimal 클래스의 toJavaFormatString 메서드 첫 번째 방법으로 FloatingDecimal 클래스에서 제공하는 toJavaFormatString() 메서드를 사용하여 실수를 문자열로 변환할 수 있습니다. 다음 예제는 FloatingDecimal 클래스의 toJavaFormatString() 메서드를 사용하여 float, double 타입의 실수를 문자열로 변환합니다. public static void main(String args[]) { float floatNum = 10.123f; double doubleNum = 10.123; String flo.. Java/문자열 2022. 9. 8. [Java]문자열을 실수로 변환(String to Double) 문자열을 실수로 변환 이번 포스팅은 Java에서 문자열을 실수로 변환하는 몇 가지 방법을 소개합니다. 방법 1. Double 클래스의 parseDouble 메서드 첫 번째 방법으로 Double 클래스에서 제공하는 parseDouble() 메서드를 사용하여 문자열을 실수로 변환할 수 있습니다. public static double parseDouble(String s); parseDouble() 메서드의 반환 결과는 기본 타입인 double이며, 문자열을 double 타입의 값으로 변환합니다. 만약, 숫자 형태가 아닌 문자열을 전달하는 경우 NumberFormatException이 발생합니다. 다음 예제는 Double 클래스의 parseDouble() 메서드를 사용하여 문자열을 실수로 변환합니다. publ.. Java/문자열 2022. 9. 7. [Java]문자열이 숫자인지 체크하는 방법 문자열이 숫자인지 체크하는 방법 Java에서 문자열이 숫자인지 아닌지 체크해야 하는 상황이 발생할 수 있습니다. [예시] - "10.25" → 숫자(O) - "10.1.1.1" → 숫자(X) - "0" → 숫자(O) - "0.0000" → 숫자(O) - "-10" → 숫자(O) - "-10.1020" → 숫자(O) - "+10" → 숫자(O) - "-10.1020" → 숫자(O) 이번 포스팅은 Java에서 제공하는 래퍼 클래스와 정규식을 사용하여 문자열이 숫자인지 아닌지 체크하는 방법을 소개합니다. 래퍼 클래스와 정규식 이외에도 문자열이 숫자인지 아닌지 체크할 수 있는 다양한 방법이 존재하지만, +, - 문자를 제대로 체크하지 못하므로 권장하지 않습니다. 방법 1. 래퍼 클래스 사용 Java에서 제공하는.. Java/문자열 2022. 9. 6. [Java]Booelan을 문자열로 변환(Boolean to String) Boolean을 문자열로 변환 이번 포스팅은 Java에서 Boolean을 문자열로 변환하는 몇 가지 방법을 소개합니다. 방법 1. String 클래스의 valueOf 메서드 가장 간단한 방법으로 String 클래스의 valueOf() 메서드를 사용합니다. valueOf() 메서드는 매개변수로 전달된 boolean 값이 true이면 문자열 "true"를 반환하고 그렇지 않으면 문자열 "false"를 반환합니다. 다음 예제는 String 클래스의 valueOf() 메서드를 사용하여 Boolean을 문자열로 변환합니다. public static void main(String args[]) { Boolean isTrue = new Boolean(true); Boolean isFalse = new Boolean(.. Java/문자열 2022. 9. 2. [Java]문자열을 Boolean으로 변환(String to Boolean) 문자열을 Boolean으로 변환 이번 포스팅은 Java에서 문자열을 Boolean으로 변환하는 몇 가지 방법을 소개합니다. 방법 1. Boolean 클래스의 valueOf 메서드 Boolean 클래스의 valueOf() 메서드를 사용하여 문자열을 Boolean으로 변환할 수 있습니다. public static Boolean valueOf(String s); valueOf() 메서드의 반환 타입은 기본 타입이 아닌 래퍼 클래스입니다. 매개변수로 전달된 문자열이 Boolean인지 확인하기 위해 내부적으로 parseBoolean() 메서드를 호출하며, 대소문자를 구분하지 않고 문자열이 "true"인지 확인합니다. 다음 예제는 대문자, 소문자 그리고 대소문자가 혼합된 문자열을 래퍼 클래스 객체(Boolean)로.. Java/문자열 2022. 9. 2. [Java]StringBuilder 특정 문자열의 위치 가져오는 방법 StringBuilder 특정 문자열의 위치 가져오는 방법 이번 포스팅은 StringBuilder 클래스에서 제공하는 indexOf() 메서드와 lastIndexOf() 메서드를 사용하여 특정 문자열의 위치를 가져오는 방법을 소개합니다. 방법 1. 앞에서부터 검색 - indexOf 메서드 StringBuilder 클래스는 특정 문자열을 앞에서부터 검색하는 indexOf() 메서드를 제공합니다. 특정 문자열이 존재하면 인덱스를 반환하며, 존재하지 않으면 -1을 반환합니다. 예제 1. 기본 사용 방법 다음 예제는 StringBuilder에 문자열 "Java"와 "JavaScript"가 존재하는지 앞에서부터 검색합니다. public static void main(String args[]) { StringBui.. Java/문자열 2022. 8. 19. [Java]문자 타입의 List를 문자열로 변환하는 방법 문자 타입의 List를 문자열로 변환하는 방법 이번 포스팅은 문자(Character) 타입의 List를 문자열로 변환하는 두 가지 방법을 소개합니다. - 반복문 - Stream API Stream API를 사용하는 방법은 Java의 버전이 1.8 이상인 경우 동작합니다. 문자 List를 문자열로 변환하기 위해 외부 라이브러리 Guava와 Apahce Commons를 사용할 수 있지만, 이번 포스팅에서 설명하지 않습니다. 방법 1. 반복문 가장 심플한 방법으로 반복문을 사용하여 Character 타입의 List를 문자열로 변환합니다. 변환 방법 순서 1. 값이 없는 StringBuilder 객체를 생성합니다. 순서 2. List를 순회하여 각 요소를 StringBuilder 객체에 추가합니다. 순서 3. .. Java/문자열 2022. 8. 19. [Java]특정 위치의 문자 변경하는 방법 특정 위치의 문자 변경하는 방법 문자열은 변경할 수 없는 클래스이므로, String 객체를 변경할 수 없습니다. 따라서, 특정 위치의 문자를 변경하기 위해서는 새로운 String 객체를 생성해야 합니다. 이번 포스팅은 문자열의 특정 위치에 있는 문자를 변경할 수 있는 몇 가지 방법을 소개합니다. 방법 1. substring 메서드 첫 번째 방법으로 String 클래스에서 제공하는 substring() 메서드를 사용하여 특정 위치의 문자를 변경할 수 있습니다. 특정 위치를 기준으로 문자열을 분리 후 분리된 문자열과 변경하려는 문자와 조합하여 새로운 문자열을 생성합니다. 다음 예제는 문자열 "Hello_ Java."에서 언더바(_)를 쉼표(,)로 변경합니다. public static void main(Str.. Java/문자열 2022. 8. 19. 이전 1 2 3 4 다음