string 2

[Java] 문자열 나누기(파싱) 방법 - StringTokenizer, String, Scanner

자바에는 특정 문자 또는 문자열을 이용해 문자열을 파싱하는 여러 가지 방법이 있다. 여러 방법 중 StringTokenizer, String, Scanner를 이용하여 문자열을 파싱하는 방법을 다룬다. StringTokenizer StringTokenizer는 긴 문자열을 지정된 구분자(delimiter)를 기준으로 토큰이라는 여러 개의 문자열로 자르는 데 사용한다. String과 Scanner를 이용한 방법보다 문자 그 자체를 구분자로 사용하기 때문에 사용이 간단하다는 장점이 있으나 단 하나의 문자만 구분자로 사용할 수 있기 때문에 2자 이상으로 된 구분자를 사용해야 하는 경우에는 적합하지 않다. 사용 시에는 java.util.StringTokenizer 클래스를 import 해줘야 한다. 위 코드를 ..

Java 2022.09.08

[Java] StringBuffer - 생성자, 비교 vs StringBuilder (동기화 여부 차이)

String 클래스는 변경 불가능한(immutable) 클래스로 인스턴스를 생성할 때 지정된 문자열을 변경할 수 없다. 정확히 말하자면 문자열에 수정이 발생할 때마다 새로운 문자열을 가진 String 인스턴스가 생성되어 메모리 공간을 차지하게 되는 것이다. 그러므로 성능이 좋지 않아 수정을 최소한으로 하는 것이 좋다. 이러한 문제를 해결하는 방법으로 StringBuffer와 StringBuilder가 있다. StirngBuffer StringBuffer는 string과 달리 문자열을 수정할 수 있다. StringBuffer 클래스는 String 클래스와 같이 문자열을 저장하기 위한 char형 배열의 참조 변수를 인스턴스 변수로 선언해 두었다.StringBuffer 인스턴스가 생성될 때, char형 배열이..

Java 2022.08.30