Java 노트(21)...String 및 StringBuffer

8132 단어 StringBuffer

String 클래스


String 클래스는 특수한 클래스로 읽기 전용 클래스라고 하는데 일단 대상을 만들면 바꿀 수 없다. 마찬가지로'abc'는 상수일 뿐만 아니라 대상일 뿐만 아니라 바꿀 수 없는 것이다.
String s1 = “abc”;
이 문장은 단지 하나의 대상만 포함한다. 즉, "abc"이다
String s2 = new String(“abc”);
이 문장은 두 개의 대상을 포함하는데, "abc"는 하나의 대상이고, new String은 하나의 대상이다
그래서 s1과 s2의 주소 값은 다르다

String 클래스 일반 작업


얻다


int length(): 문자열 길이 가져오기
char charAt(int index): 문자열의 특정 위치에서 문자 가져오기
문자열에서 문자의 위치를 가져옵니다.
int indexOf (int ch): 문자열에 처음 나타나는 ch의 위치를 되돌려줍니다.
int indexOf (int ch, int fromIndex):fromIndex가 지정한 위치부터 문자열에 나타나는 위치를 가져옵니다.
int indexOf (String str): 문자열에서 str가 처음 나타나는 위치를 되돌려줍니다
int indexOf(String str, int fromIndex):fromIndex가 지정한 위치부터 str가 문자열에 나타나는 위치를 가져옵니다.
int lastIndex Of (int ch): 문자열에서 ch가 마지막으로 나타나는 위치를 끝에서 가져옵니다.

판단


문자열에 문자열이 포함되어 있는지 여부
boolean contains(String str)
특이점: indexOf (str)는 str가 처음 나타난 위치를 인덱스할 수 있습니다. -1로 되돌아오면 이 str가 문자열에 없음을 표시하기 때문에 지정한 문자열의 포함 여부를 판단하는 데도 사용할 수 있습니다.
문자열에 내용이 있는지 여부
boolean isEmpty(): 길이가 0인지 아닌지를 판단하는 원리
문자열이 지정한 내용으로 시작되는지 여부
boolean startWith(str)
문자열이 지정한 내용으로 끝날지 여부
boolean endsWith(str)
문자열의 내용이 동일한지 판단하고 Object의 equals 메서드를 복사합니다.
boolean equals(str)
내용이 동일한지 판단하는 동시에 대소문자를 무시합니다
boolean equalsIgnoreCase()

바꾸다


문자열로 문자열 배열 변환하기
구조 함수:
String(char[])
String(char[], offset, count): 문자 배열의 일부를 문자열로 변환
정적 방법
static String copyValueOf(char[]);
static String copyValueOf(char[] data,int offset,int count)
static String valueOf(char[])
문자열을 문자열 배열로 바꾸기
char[] toCharArray()
바이트 그룹을 문자열로 바꾸기
구조 함수:
String(byte[])
String(byte[],offset,count): 바이트 배열의 일부를 문자열로 변환
문자열을 바이트 그룹으로 바꾸기
byte[] getBytes()
기본 데이터 형식을 문자열로 바꾸기
static String valueOf(int)
static String valueOf(double)
//3+"";=====String.valueOf(3);
특수: 문자열과 바이트 그룹은 변환 과정에서 인코딩표를 지정할 수 있습니다

바꾸다


String replace(oldchar,newchar);

절단하다


String[] split(regex);
문자열의 일부분을 가져오는 하위 문자열
String subString(begin)
String subString(begin,end);

변환:공백 제거, 비교


문자열을 대문자나 소문자로 바꾸다
String toUpperCase();
String toLowerCase();
문자열의 양쪽 끝에 있는 여러 공백을 제거합니다.
String trim();
두 문자열의 자연 순서 비교
int compareTo(String str)

StringBuffer 클래스


StringBuffer는 컨테이너입니다.
특징:
  • 길이 변경 가능
  • 여러 데이터 유형을 직접 조작할 수 있음
  • 최종적으로 toString 방법을 통해 문자열로 변경
  • StringBuffer 클래스 일반 작업


    C create U update R read D delete

    저장 장치


    StringBuffer append(): 지정된 데이터를 기존 데이터의 끝에 매개변수로 추가
    StringBuffer insert (index, 데이터): 지정한 index 위치에 데이터를 삽입할 수 있습니다

    삭제


    StringBuffer delete(start,end): 버퍼에 있는 데이터를 삭제합니다. start를 포함하고end를 포함하지 않습니다.
    StringBuffer deleteCharAt(index): 지정된 위치의 문자 삭제

    얻다


    char charAt(int index)
    int indexOf(String str)
    int lastIndexOf(String str)
    int length()
    String subString(int start,int end)

    수정


    StringBuffer replace(start,end,string)
    void setCharAt(int index,char ch)

    반전


    StringBuffer reverse()

    버퍼에서 지정한 데이터를 지정한 문자 그룹에 저장합니다


    void getChars(int srcBegin,int srcEnd,char[] dst,int dstBegin)

    StringBuilder 클래스


    JDK1.5 다음에 StringBuilder 클래스가 나왔어요.
    StringBuffer와 StringBuilder의 차이점
    StringBuffer는 스레드 동기화
    StringBuilder는 스레드가 동기화되지 않습니다.
    ... 에 의하여
    업그레이드에는 세 가지 요소가 있습니다.
  • 효율성 향상
  • 간단한 쓰기
  • 보안 강화
  • 까닭
    StringBuilder 의 효율성이 높기 때문에 StringBuilder 를 사용하는 것이 좋습니다.

    기본 데이터 유형 객체 패키지 클래스


    byte
    Byte
    short
    Short
    int
    Integer
    long
    Long
    boolean
    Boolean
    float
    Float
    double
    Double
    char
    Character
     

    기본 데이터 유형 대상 포장류의 가장 흔한 역할


    기본 데이터 형식과 문자열 형식 사이의 변환에 사용
    기본 데이터 형식을 문자열로 바꾸기
    기본 데이터 유형 + ""
    기본 데이터 유형.toString(기본 데이터 유형 값)
    예: Integer.toString(123);
    문자열을 기본 데이터 형식으로 바꾸기
    xxx a = Xxx.parseXxx(String);
    예:
    정적 방법:
    int a = Integer.parseInt();
    double d = Double.parseDouble();
    boolean b = Boolean.parseBoolean(“true”);
    객체 호출:
    Integer i = new Integer(“123”);
    int num = i.intValue();
    10진수를 다른 진수로 바꾸기
    Integer.toBinaryString(): 바이너리
    Integer.toHexString(): 16진수
    Integer.toOctalString(): 8진수
    기타 10진법
    Integer.parseInt(String,radix);

    특수한 예

       1: class IntegerDemo 
       2: {
       3:     public static void main(String[] args) 
       4:     {
       5:         //JDK1.5 
       6:  
       7:         Integer x = 4;// , new Integer(4)
       8:  
       9:         x = x + 2;//x , int 2 , 
      10:  
      11:         Integer i = null;// 
      12:  
      13:         Integer m = 128;
      14:         Integer n = 128;
      15:         
      16:         // false, 
      17:         System.out.println(m==n);
      18:  
      19:         Integer a = 127;
      20:         Integer b = 127;
      21:         /*
      22:          true, a b 
      23:          byte , , , 
      24:          @Tony_ , 
      25:          
      26: 
      27:         */
      28:         System.out.println(a==b);
      29:     }
      30: }

    열혈 시청자 @Tony칠학생은 이것이 디자인 모델 중의 형원 모델로 메모리 사용량을 최대한 줄이고 정보를 공유하는 데 사용할 수 있는 비슷한 물건을 최대한 많이 가르쳐 주셔서 감사합니다.

    좋은 웹페이지 즐겨찾기