JAVA-중요03-delete(int start, int end)
이번 시간에는 StringBuffer 클래스의 delete(int start, int end) 메소드를 확인해보도록 하겠습니다. 우선, StringBuffer 클래스는 String 클래스와는 다르게 정적 문자열이라는 특징을 가지고 있습니다.
예를들어, String 클래스의 변수 a가 ="123"; 이면, 이 a는 변함이 없지만, StringBuffer 클래스의 a는 변할 수 있다는 특징이 있습니다. 다만, 이 StringBuffer는 new를 이용하여 새로운 객체를 생성하여야 합니다.
다음으로 delete(int start, int end)메소드에 대해서 확인하도록 하겠습니다.
delete(int start, int end)
delete(int start, int end) 메소드는 StringBuffer 클래스에 속한 메소드이며, 문자열을 삭제할 수 있습니다. 예를들어, a="123456"; 이 있다면 delete(int start, int end)메소드를 이용하면 "34"를 지우고 a="1256" 으로 됩니다.
아래 예제를 통하여 더 살펴보도록 하겠습니다.
package 기본기04;
public class a03 {
public static void main(String[] args) {
StringBuffer a=new StringBuffer("1234567"); //새로운 StringBuffer 객체를 생성합니다. System.out.println(a.charAt(0)); System.out.println(a.charAt(1)); System.out.println(a.charAt(2)); System.out.println(a.charAt(3)); System.out.println(a.charAt(4)); System.out.println(a.charAt(5)); System.out.println(a.charAt(6));
System.out.println("---------");
a=a.delete(0,1); System.out.println(a);
System.out.println("---------"); for(int i=0;i<a.length()-1;) //i의 증감요소는 없습니다. 그러면 무한루프를 돌겠지만 Sys.out의 a.length요소가 delete를 하면 점점 없어져서 출력할 요소가 없습니다. { a=a.delete(0,1); //만약 위의 delete요소가 없다면 a.length는 6으로 한정되서 계속 출력이 되겠지만 하나씩 없어지면 언젠가 0이 되어 출력이 없겠지요. System.out.println("String a의 길이는 변해서: " +a.length()+ " 입니다");
}
}
} |
<결과물>
자료가 마음에 드셨다면 자주 찾아주세요^^ 글 올리는데 힘이됩니다.