JavaRush /Java Blog /Random-ID /Kelas string di Java

Kelas string di Java

Dipublikasikan di grup Random-ID
Kelas String di Java dirancang untuk bekerja dengan string di Java. Semua literal string yang didefinisikan dalam program Java (misalnya, "abc") adalah turunan dari kelas String. Mari kita lihat karakteristik utamanya:
  1. Kelas mengimplementasikan Serializabledan antarmuka CharSequence. Karena sudah termasuk dalam paket java.lang, tidak perlu diimpor.
  2. Kelas String di Java adalah kelas final dan tidak dapat memiliki turunan.
  3. Kelas String adalah kelas yang tidak dapat diubah, artinya objeknya tidak dapat diubah setelah dibuat. Setiap operasi pada objek String yang akan menghasilkan objek dari kelas String akan menghasilkan pembuatan objek baru.
  4. Karena kekekalannya, objek kelas String aman untuk thread dan dapat digunakan dalam lingkungan multi-thread.
  5. Setiap objek di Java dapat dikonversi menjadi string melalui metode toStringyang diwarisi oleh semua kelas Java dari kelas tersebut Object.
Kelas string di Java - 1

Bekerja dengan String Java

Ini adalah salah satu kelas yang paling umum digunakan di Java. Ia memiliki metode untuk menganalisis karakter tertentu dalam sebuah string, untuk membandingkan dan mencari string, mengekstraksi substring, membuat salinan string dengan semua karakter diubah menjadi huruf kecil dan besar, dan lain-lain. Daftar semua metode kelas String dapat ditemukan di dokumentasi resmi . Java juga mengimplementasikan mekanisme sederhana untuk penggabungan (menghubungkan string), mengubah primitif menjadi string dan sebaliknya. Mari kita lihat beberapa contoh bekerja dengan kelas String di Java.

Membuat String

Cara termudah untuk membuat instance kelas String adalah dengan memberinya nilai literal string:
String s = "I love movies";
Namun, kelas String memiliki banyak konstruktor yang memungkinkan Anda untuk:
  • buat objek yang berisi string kosong
  • membuat salinan variabel string
  • membuat string berdasarkan array karakter
  • buat string berdasarkan array byte (dengan mempertimbangkan pengkodean akun)
  • dll.

Penambahan string

Menambahkan dua string di Java cukup sederhana menggunakan +. Java memungkinkan Anda untuk menambahkan variabel dan string literal satu sama lain:
public static void main(String[] args) {
    String day = "Day";
    String and = "And";
    String night = "Night";

    String dayAndNight = day + " " + and + " " + night;
}
Dengan menambahkan objek dari kelas String dengan objek dari kelas lain, kami mereduksi objek dari kelas lain menjadi bentuk string. Konversi objek kelas lain ke representasi string dilakukan melalui pemanggilan metode implisit toStringpada objek tersebut. Mari kita tunjukkan dengan contoh berikut:
public class StringExamples {
    public static void main(String[] args) {
        Human max = new Human("Max");
        String out = "java object: " + max;
        System.out.println(out);
        // Output: Java object: Person named Max
    }

    static class Human {
        private String name;

        public Human(String name) {
            this.name = name;
        }

        @Override
        public String toString() {
            return "The Man with the Name" + name;
        }
    }
}

Perbandingan string

Untuk membandingkan string, Anda dapat menggunakan metode equals():
public static void main(String[] args) {
    String x = "Test String";
    System.out.println("Test String".equals(x)); // true
}
Jika huruf besar/kecil tidak penting bagi kita saat membandingkan string, kita perlu menggunakan metode ini equalsIgnoreCase():
public static void main(String[] args) {
       String x = "Test String";
       System.out.println("test string".equalsIgnoreCase(x)); // true
}

Mengubah objek/primitif menjadi string

Untuk mengonversi instance kelas Java atau tipe data primitif apa pun menjadi representasi string, Anda dapat menggunakan metode ini String.valueOf():
public class StringExamples {
    public static void main(String[] args) {
        String a = String.valueOf(1);
        String b = String.valueOf(12.0D);
        String c = String.valueOf(123.4F);
        String d = String.valueOf(123456L);
        String s = String.valueOf(true);
        String human = String.valueOf(new Human("Alex"));

        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        System.out.println(d);
        System.out.println(s);
        System.out.println(human);
        /*
        Output:
        1
        12.0
        123.4
        123456
        true
        Person named Alex
         */
    }

    static class Human {
        private String name;

        public Human(String name) {
            this.name = name;
        }

        @Override
        public String toString() {
            return "The Man with the Name" + name;
        }
    }
}

Mengubah string menjadi angka

Seringkali Anda perlu mengonversi string menjadi angka. Kelas pembungkus tipe primitif memiliki metode yang tepat untuk tujuan ini. Semua metode ini dimulai dengan kata parse. Perhatikan penerjemahan string menjadi bilangan bulat ( Integer) dan Doublebilangan pecahan ( ) di bawah ini:
public static void main(String[] args) {
    Integer i = Integer.parseInt("12");
    Double d = Double.parseDouble("12.65D");

    System.out.println(i); // 12
    System.out.println(d); // 12.65
}

Mengubah kumpulan string menjadi representasi string

Jika Anda perlu mengonversi semua elemen dari beberapa kumpulan string menjadi representasi string melalui pembatas arbitrer, Anda dapat menggunakan metode kelas Java String berikut:
  • join(CharSequence delimiter, CharSequence... elements)
  • join(CharSequence delimiter, Iterable<? extends CharSequence> elements)
Di mana delimiterpemisah elemen, dan elementsmerupakan contoh array string/pengumpulan string. Mari kita lihat contoh di mana kita mengubah daftar string menjadi string, pisahkan masing-masing dengan titik koma:
public static void main(String[] args) {
    List<String> people = Arrays.asList(
            "Philip J. Fry",
            "Turanga Leela",
            "Bender Bending Rodriguez",
            "Hubert Farnsworth",
            "Hermes Conrad",
            "John D. Zoidberg",
            "Amy Wong"
    );

    String peopleString = String.join("; ", people);
    System.out.println(peopleString);
    /*
    Output:
    Philip J. Fry; Turanga Leela; Bender Bending Rodriguez; Hubert Farnsworth; Hermes Conrad; John D. Zoidberg; Amy Wong
     */
}

Memisahkan string menjadi array string

Operasi ini dilakukan dengan metode split(String regex) Pemisahnya adalah string ekspresi reguler regex. Pada contoh di bawah ini, kita akan melakukan operasi kebalikan dari apa yang kita lakukan pada contoh sebelumnya:
public static void main(String[] args) {
    String people = "Philip J. Fry; Turanga Leela; Bender Bending Rodriguez; Hubert Farnsworth; Hermes Conrad; John D. Zoidberg; Amy Wong";

    String[] peopleArray = people.split("; ");
    for (String human : peopleArray) {
        System.out.println(human);
    }
    /*
    Output:
    Philip J. Fry
    Turanga Leela
    Bender Bending Rodriguez
    Hubert Farnsworth
    Hermes Conrad
    John D. Zoidberg
    Amy Wong
     */
}

Menentukan kedudukan suatu unsur dalam suatu garis

Dalam bahasa Java, String menyediakan sekumpulan metode untuk menentukan posisi karakter/substring dalam sebuah string:
  1. indexOf(int ch)
  2. indexOf(int ch, int fromIndex)
  3. indexOf(String str)
  4. indexOf(String str, int fromIndex)
  5. lastIndexOf(int ch)
  6. lastIndexOf(int ch, int fromIndex)
  7. lastIndexOf(String str)
  8. lastIndexOf(String str, int fromIndex)
Di mana:
  1. ch— simbol yang Anda cari ( char)
  2. str- bilah pencarian
  3. fromIndex— posisi untuk mencari elemen
  4. metode indexOf- mengembalikan posisi elemen pertama yang ditemukan
  5. metode lastIndexOf- mengembalikan posisi elemen terakhir yang ditemukan
Jika elemen yang Anda cari tidak ditemukan, metode akan mengembalikan baris -1. Mari kita coba mencari nomor seri huruf A, K, Z, Яdalam alfabet bahasa Inggris, namun perlu diingat bahwa pengindeksan karakter dalam string di Java dimulai dari nol:
public static void main(String[] args) {
    String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    System.out.println(alphabet.indexOf('A')); // 0
    System.out.println(alphabet.indexOf('K')); // 10
    System.out.println(alphabet.indexOf('Z')); // 25
    System.out.println(alphabet.indexOf('Я')); // -1
}

Mengekstraksi substring dari string

Untuk mengekstrak substring dari sebuah string, kelas String di Java menyediakan metode:
  • substring(int beginIndex)
  • substring(int beginIndex, int endIndex)
Mari kita lihat bagaimana kita dapat menggunakan metode pemosisian elemen dan ekstraksi substring untuk mendapatkan nama file dari jalurnya:
public static void main(String[] args) {
    String filePath = "D:\\Movies\\Futurama.mp4";
    int lastFileSeparatorIndex = filePath.lastIndexOf('\\');
    String fileName = filePath.substring(lastFileSeparatorIndex + 1);
    System.out.println(fileName); //9
}

Ubah string menjadi huruf besar/kecil:

Kelas String menyediakan metode untuk mengubah string menjadi huruf besar dan kecil:
  • toLowerCase()
  • toUpperCase()
Mari kita lihat cara kerja metode ini menggunakan sebuah contoh:
public static void main(String[] args) {
    String fry = "Philip J. Fry";

    String lowerCaseFry = fry.toLowerCase();
    String upperCaseFry = fry.toUpperCase();

    System.out.println(lowerCaseFry); // philip j. fry
    System.out.println(upperCaseFry); // PHILIP J. FRY
}
Bekerja dengan kelas Java ini dipelajari pada tingkat awal kursus online JavaRush:

Sumber tambahan

Informasi tentang kelas String juga disediakan di artikel lain di komunitas JavaRush:
  1. String di Java - Artikel ini membahas beberapa dasar-dasar bekerja dengan string di Java.
  2. String Jawa. Pertanyaan dan jawaban wawancara, bagian 1 - artikel ini membahas pertanyaan wawancara tentang topik tersebut String, dan juga memberikan jawaban atas pertanyaan dengan penjelasan dan contoh kode.
  3. Strings in Java (kelas java.lang.String) - artikel ini memberikan analisis lebih mendalam tentang kelas String, dan juga membahas seluk-beluk bekerja dengan kelas ini.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION