본문 바로가기

String5

[Java] 표준 API #3 - String / StringBuffer, Builder / StringTokenizer, Pattern [API 설명]1) java.lang.String- char[]를 래핑- immutable Object : 힙영역에 1번 생성되면 값을 변경할 수 없음=> 힙 영역에서 변경이 불가하다는 것 : 최적화(같은 문자열 == 같은 객체 - 공유), 안전성=> 새로운 객체를 생성해서 참조 객체주소값을 변경하는 것=> 보통 final 클래스로 선언 : 상속해서 Immutable 속성을 없애버릴 수도 있음 - Charset 신경쓰기 : UTF-8, EUC-KR에 따라 한글 인코딩 길이가 다름import java.io.UnsupportedEncodingException; public class StringTest { public static void main(String[] args) { /* byte[]을 Strin.. 2017. 10. 9.
[ruby] 루비 기초편 - String [String이란]문자열(s,t,r과 같은 문자의 배열)을 저장하기위한 데이터타입 [String 선언]루비에서는 앞서 포스팅한 것처럼 데이터타입을 선언하지않고 데이터를 변수명에 집어넣으면 선언 완성!str = "문자열" [String 관련 메서드]String을 활용하여 어떤 기능을 사용할 수 있는지 살펴볼 것이다. 기본값 : str = "Hello" #는 주석처리이므로 메서드(코드)와는 아무런 상관없음, 주석 처리된 부분부터는 코드에 아무런 영향을 미치지 않음(#의 주석처리는 그 행만) 1) str * 3 #=> HelloHelloHello2) str Hello World3) str.concat("World") #=> Hello World4) str "Hello" #=> str과 Hello가 같으므로 0.. 2017. 2. 12.
[Java] java.lang 패키지 : StringTokenizer [StringTokenizer]문자열로부터 토큰을 추출하는 기능을 하는 클래스, 여기서 말하는 토큰이란 문자열을 구성하는 단위를 말한다."토끼 강아지 고양이" 라는 문자열이 있다면 "토끼" "강아지" "고양이" 가 토큰이다.보통 데이터를 가져와서 어느 기준을 따라 자르고 저장할 때 중간과정에서 많이 쓸 것으로 보인다. [메소드] => hasMoreToken : 문자열의 토큰을 반환할 때 다음 토큰이 있는지 없는지 검사한 후 boolean 값을 반환하는 메소드, 반복작업할 때 씀 => nextToken : 규칙(델리미터)에 따라서 잘라진 토큰을 하나씩 반환하는 메소드 String str8 = "제목 : 진브로의 하루, 페이지수 : 100, 호수 : 1"; StringTokenizer stok = new S.. 2017. 1. 20.
[Java] java.lang 패키지 : StringBuilder, StringBuffer [StringBuilder와 StringBuffer]문자열에 대한 변경처리를 하기위한 클래스다.버퍼(문자열을 수정하기 위한 임시저장공간)에 기존 문자열을 저장해두고 수정하는 방식이다.버퍼의 크기는 최초 16이며, 생성자의 지정에 따라 크기를 지정할 수 있다. (버퍼 사이즈는 1글자 당 버퍼 크기 1)위의 클래스들로 작업할 때 최초 버퍼 크기가 맞지 않아 늘리는 작업이 필요한데, 이 작업은 자동으로 된다.버퍼의 크기는 실제 더 필요한 사이즈보다 2배정도 더 생성하는데, 불필요하게 크게 메모리에 할당되어 낭비될 수 있으므로 버퍼크기는 잘 예상하는 것이 좋다.두 클래스의 생성자, 메소드 형태, 기능이 거의 동일하다. [두 클래스의 차이점]멀티쓰레드 환경이냐 싱글쓰레드 환경이냐이다.다시말해 동시에 처리를 하는 .. 2017. 1. 20.
[Java] java.lang 패키지 : String [java.lang 패키지 클래스] : 자바의 기본 클래스 및 인터페이스 모음 패키지, 자동 import됨 [문자열 관련 클래스(String, StringBuffer, StringBuilder, StringTokenizer)] 1) String : 문자열을 데이터 타입(객체)로 선언하는 클래스이며, concat, replace 등 문자열을 조작하는 메소드를 멤버로 가지고 있다. => 문자열을 생성하는 방법은 객체 생성, 리터럴 2가지가 있음 => 리터럴로 생성하면 값이 같을 경우 같은 참조값을 갖기 때문에 == 으로 참조값을 비교했을 때 true를 반환함 [메소드] => concat : 기존 문자열에 다른 문자열을 붙일 때 사용하는 메소드 => replace : 문자열 중 일부를 변경할 때 사용하는 메소.. 2017. 1. 20.