5.2.4 Stringクラスの主な方法

25517 ワード

Stringクラスは、文字列の長さ、文字列の検索、文字列の変換、接続文字列の変更、または比較内容など、非常に豊富な方法を提供します.次の表は削除して最も代表的なものだけを選びます.今後Javaを使用してプロジェクトを実行する場合、以下の方法は少なくとも1回使用されます.

表が複雑すぎる場合は、以下の内容を簡単に理解するだけです.
length():文字列の長さを返します.
charAt():文字列から特定のインデックスに存在する文字を見つけます.
indexOf():前から文字列内の特定の文字または特定の文字列を検索し、その位置値を決定します.
LastindexOf():後から文字列内の特定の文字または特定の文字列を検索することによって位置値を決定します.
String.valueOf():基本資料型を文字列に変換する静的メソッド.
concat():2つの文字列を接続します.+演算子と同じ機能を実行します.
getBytes():文字列をbytte配列に変換します.主にJava I/Oプロセスで使用されます.
toCharArray():文字列をchar配列に変換します.主にJava I/Oプロセスで使用されます.

実習

        // 문자열 길이
        String str1 = "Hello Java!";
        String str2 = "안녕하세요! 반갑습니다.";
        System.out.println(str1.length());
        System.out.println(str2.length()); // 한글, 영문 구분 없이 한 문자당 1개의 크기를 가짐
        System.out.println();

        // 문자열 검색
        // @charAt()
        System.out.println(str1.charAt(1));
        System.out.println(str2.charAt(1)); //한글 영문 구분 없이 인덱스 1 위치의 문자
        System.out.println();

        // @indexOf(), lastIndexOf()
        System.out.println(str1.indexOf('a')); // 앞에서부터 첫 번째 'a'가 위치한 인덱스
        System.out.println(str1.lastIndexOf('a')); // 뒤에서부터 첫 번째 'a'가 위치한 인덱스
        System.out.println(str1.indexOf('a',8));
        System.out.println(str1.indexOf("Java"));
        System.out.println(str1.lastIndexOf("Java"));
        System.out.println(str2.indexOf("하세요"));
        System.out.println(str2.lastIndexOf("하세요"));
        System.out.println(str1.indexOf("Bye")); // 해당 문자(열)이 없는 경우 -1 리턴
        System.out.println(str2.lastIndexOf("고맙습니다"));
        System.out.println();

        // 문자열 변환 및 연결
        // @String.valueOf(기본 자료형) : 기본 자료형 -> 문자열 변환
        String str3 = String.valueOf(2.3);
        String str4 = String.valueOf(false);
        System.out.println(str3);
        System.out.println(str4);

        // @concat() : 문자열 연결
        String str5 = str3.concat(str4);
        System.out.println(str5);

        //String.valueOf() + concat()
        String str6 = "안녕" + 3;
        String str7 = "안녕".concat(String.valueOf(3));

        
        // 문자열을 byte[] 또는 char[]로 변환
        String str8 = "Hello Java!";
        String str9 = "안녕하세요";

        // @getBytes() : 문자열 -> byte[] 변환
        byte[] array1 = str8.getBytes();
        byte[] array2 = str9.getBytes();
        System.out.println(Arrays.toString(array1));
        System.out.println(Arrays.toString(array2));

        // @tocharArray() : 문자열 -> char[] 변환

        char[] array3 = str8.toCharArray();
        char[] array4 = str9.toCharArray();
        System.out.println(Arrays.toString(array3));
        System.out.println(Arrays.toString(array4));


以下に簡略に説明する
toLowerCase():英字文字をすべて小文字に変換します.
toUpperCase():英語の文字をすべて大文字に変換します.
replace():一部の文字列を別の文字列で置き換えます.
substring():一部の文字列のみを含む新しい文字列オブジェクトを作成します.
split():特定の記号に基づいて文字列を分離します.
trim():文字列の左右のスペースを削除します.
equals():位置値ではなく、2つの文字列の実際のデータ値を比較します.この場合、大文字と小文字を区別します.
equalsIgnoreCase():位置値ではなく、2つの文字列の実際のデータ値を比較します.大文字と小文字を区別しません.

実習

        // 문자열 수정
        // @ toLowercase(), toUpperCase()
        String str1 = "Java Study";
        System.out.println(str1.toLowerCase());
        System.out.println(str1.toUpperCase());

        // @replace()
        System.out.println(str1.replace("Study","공부")); // "Study" 문자열을 "공부"로 변경

        // @substring()
        System.out.println(str1.substring(0,5)); // 0 <= 인덱스 < 5의 문자열

        // @split()
        String[] strArray = "abc/ def-ghi jkl" .split("/|-| ");
        System.out.println(Arrays.toString(strArray));

        // @trim()
        System.out.println("  abc  ".trim());

        System.out.println();

        // 문자열의 내용 비교
        String str2 = new String("Java");
        String str3 = new String("Java");
        String str4 = new String("java");

        // @stack 메모리 비교(==): 위치(번지) 비교
        System.out.println(str2 == str3);
        System.out.println(str3 == str4);
        System.out.println(str4 == str2);

        // @equals(), equalsIgnoreCase() : 내용 비교
        System.out.println(str2.equals(str3));
        System.out.println(str3.equals(str4));
        System.out.println(str3.equalsIgnoreCase(str4));
結果