CodeGym /Blog Java /rawak /Rentetan Java
John Squirrels
Tahap
San Francisco

Rentetan Java

Diterbitkan dalam kumpulan

Apakah String dalam Java?

Dalam pengaturcaraan, rentetan sangat biasa digunakan. String dalam java ialah objek yang mewakili urutan aksara yang disokong oleh tatasusunan char. Kelas rentetan tidak boleh diubah dalam Java dan melaksanakan antara muka Comparable , Serializable , dan CharSequence . Mari kita lihat contoh untuk memahami.
String str = "string"
Di sini str ialah urutan 6 aksara iaitu s, t, r, i, n, dan g.
Indeks Tatasusunan Char 0 1 2 3 4 5
Nilai s t r i n g
Alamat Memori 0x12824 0x12825 0x12826 0x12827 0x12828 0x12829
Seperti yang kita ketahui sekarang tatasusunan tidak berubah, yang bermaksud ia tidak boleh diubah selepas permulaan, oleh itu rentetan juga tidak boleh diubah.

Cara pemulaan Rentetan

Terdapat dua cara untuk memulakan rentetan.
  1. Huruf Rentetan
  2. Operator Baharu

Rentetan Literal

Cara termudah dan paling langsung untuk mengisytiharkan rentetan digunakan dalam contoh di atas. Setiap kali pengkompil mentafsir rentetan literal, ia sentiasa ditukar kepada objek String.
String str = "string";

Operator Baharu

Kami juga boleh memulakan rentetan dengan menggunakan pengendali baharu.
String strNew = new String("using new operator");

Contoh

import java.io.*;
import java.lang.*;

class StringInitializationExample {
    public static void main(String[] args)
    {
        //declare java string with a string literal
        String str = "a string literal";

        System.out.println("String str = " + str);

        //declare string using new operator
        String strNew = new String("using new operator");

        System.out.println("String strNew = " + strNew);
    }
}

Pengeluaran

String str = rentetan literal String strNew = menggunakan operator baharu

String vs StringBuilder vs StringBuffer

Kami telah membincangkan apa itu kelas String jadi kami akan membincangkan dua kelas lain dan tujuannya, bersama-sama dengan sebab Java memperkenalkan kedua-dua kelas ini apabila ia sudah mempunyai kelas String untuk kami. Adalah lebih baik untuk anda pergi ke bahagian atas dan membuat semakan untuk kelas String untuk memahaminya dengan cara yang lebih baik.

Sebab

Seperti yang kita ketahui bahawa objek kelas String tidak boleh diubah jadi setiap kali kita perlu menukar rentetan ia tidak pernah mengubah objek semasa tetapi nilai yang diubah sentiasa disimpan sebagai objek String baharu. Jadi jika kita perlu menukar nilai, lagi dan lagi, ingatan akan digunakan juga. Mengekalkan perkara ini Java telah memberikan kami kelas StringBuilder dan StringBuffer . Sekarang kita akan melihat bagaimana ia berguna dalam senario ini.

StringBuffer

String ialah perwakilan bagi jujukan aksara yang tidak berubah tetapi StringBuffer ialah jujukan aksara yang boleh berubah . Ia menggunakan kebanyakan kaedah kelas String bersama-sama dengan beberapa kaedahnya sendiri untuk menukar kandungan dan urutan aksara. Ia selamat untuk benang kerana kaedahnya disegerakkan untuk digunakan oleh berbilang benang, mengekalkan susunan bersiri. Ia melaksanakan antara muka Serializable , Appendable , dan CharSequence .

Sintaks

StringBuffer str = new StringBuffer("Happy Java Programming");

StringBuilder

StringBuilder juga mewakili jujukan aksara yang boleh berubah. Ia menyediakan API, yang serasi dengan kelas StringBuffer tetapi ia tidak selamat untuk benang. Jadi apabila berbilang benang tidak terlibat, adalah lebih baik untuk menggunakan kelas StringBuilder kerana ia lebih pantas daripada kelas StringBuffer dalam banyak kes. Kaedah utama kelas ini ialah sisipan dan tambah. Ia juga melaksanakan antara muka Serializable , Appendable , dan CharSequence .

Sintaks

StringBuilder str = new StringBuilder("Happy Java Programming");

Operasi Rentetan

Di Java kita boleh melakukan operasi rentetan seperti Concatenation , Comparing , Splitting , Finding Length , Replacing Strings dan sebagainya.

Kaedah Rentetan

Kelas Java String menyediakan pelbagai kaedah untuk memanipulasi rentetan atau melaksanakan operasi yang dibincangkan di atas. Mari kita lihat jadual di bawah untuk beberapa kaedah rentetan ini.
Kaedah Penerangan
Char charAt(int index) Ia mengembalikan nilai char pada indeks yang disediakan.
Rentetan concat(String str) Ia mengembalikan rentetan dengan menggabungkan rentetan yang ditentukan ke penghujung rentetan ini.
boolean mengandungi(CharSequence s) Ia kembali benar jika rentetan mengandungi urutan nilai char yang ditentukan.
kandungan booleanEquals(CharSequence cs) Ia sepadan dengan rentetan dengan urutan aksara yang disediakan.
kandungan booleanEquals(StringBuffer sb) Ia sepadan dengan rentetan dengan penimbal rentetan yang disediakan.
boolean endsWith(Akhiran rentetan) Ia membandingkan hujung rentetan dengan akhiran yang disediakan.
boolean sama (Objek anObject) Ia sepadan dengan rentetan dengan objek yang disediakan.
boolean equalsIgnoreCase(String anotherString) Kaedah ini membandingkan dua rentetan tanpa mengambil kira sensitiviti huruf besar.
format String statik (Format rentetan, Objek… args) Ia mengembalikan rentetan yang diformat dengan menggunakan format yang disediakan dan argumen.
bait getBytes() Kaedah ini menggunakan charset lalai platform untuk mengekod rentetan ke dalam urutan bait, yang kemudiannya disimpan ke dalam tatasusunan bait baharu.
void getChars(int begin, int end, char[] dst, int dstBegin) Ia menyalin aksara daripada rentetan ke dalam tatasusunan aksara destinasi.
int hashCode() Ia mengembalikan kod cincang untuk rentetan.
int indexOf(int ch) Ia mengembalikan indeks untuk aksara yang ditentukan yang berlaku dahulu daripada rentetan.
int indexOf(int ch, int fromIndex) Ia mengembalikan indeks untuk aksara yang ditentukan yang berlaku dahulu bermula dari indeks yang disediakan dalam rentetan ini.
int indexOf(String str) Ia mencari subrentetan yang disediakan dalam rentetan dan mengembalikan indeks pada kejadian pertama.
int indexOf(String str, int fromIndex) Ia mula mencari subrentetan yang disediakan dalam rentetan daripada indeks yang diberikan dan mengembalikan indeks pada kejadian pertama.
String intern() Kaedah ini mengembalikan perwakilan kanonik rentetan.
int lastIndexOf(int ch) Kaedah ini mencari aksara yang disediakan dalam rentetan dan mengembalikan indeks kejadian terakhir.
int lastIndexOf(int ch, int fromIndex) Kaedah ini mencari ke belakang dari indeks yang diberikan untuk aksara yang disediakan dalam rentetan dan mengembalikan indeks kejadian terakhir.
int lastIndexOf(String str) Kaedah ini mencari subrentetan yang disediakan dalam rentetan dan mengembalikan indeks kejadian terakhir.
int lastIndexOf(String str, int fromIndex) Kaedah ini mencari ke belakang dari indeks yang diberikan untuk subrentetan yang disediakan dalam rentetan dan mengembalikan indeks kejadian terakhir.
int panjang() Kaedah ini mengembalikan panjang rentetan.
padanan boolean (String regex) Ia mengembalikan benar atau salah dengan memadankan rentetan dengan ungkapan biasa yang disediakan.
Penggantian rentetan(char oldValue, char newValue) Kaedah ini mengembalikan rentetan selepas menggantikan semua oldValue yang disediakan dengan newValue dalam rentetan.
String[] split (String regex) Kaedah ini mencari semua padanan mengikut ungkapan biasa yang disediakan dalam rentetan dan membahagikannya di sekeliling padanan ini.
boolean startsWith(Awalan rentetan) Ia mengembalikan benar atau salah dengan menguji rentetan bermula dengan awalan yang disediakan.
Subrentetan rentetan(int beginIndex) Kaedah ini mengembalikan rentetan yang merupakan subrentetan rentetan ini.
Rentetan keLowerCase() Ia menukar semua aksara rentetan kepada huruf kecil menggunakan peraturan tempat lalai.
Potong rentetan() Kaedah ini mengalih keluar semua ruang putih di hadapan dan di belakang daripada rentetan dan mengembalikannya.
nilai String statikOf(char c) Ia mengembalikan perwakilan rentetan bagi hujah char.
Sekarang dengan bantuan beberapa contoh, kita akan melihat cara menggunakannya.

Contoh

import java.io.*;
import java.lang.*;

class JavaStringsExample {
  public static void main(String[] args) {

    //create a string
    String greeting = "Hello! World";
    System.out.println("String: " + greeting);

    //getting the length of greeting object
    int length = greeting.length();
    System.out.println("Length: " + length);

    //create first string
    String first = "Java ";
    System.out.println("First String: " + first);

    //create second string
    String second = "Programming";
    System.out.println("Second String: " + second);

    //joining two strings
    String joinedString = first.concat(second);
    System.out.println("Joined String: " + joinedString);

    String jpf = "Java programming";
    String jps = "Java programming";
    String jpt = "Python programming";

    //compare jpf and jps strings
    boolean result1 = jpf.equals(jps);
    System.out.println("Strings jpf and jps are equal: " + result1);

    //compare jpf and jpt strings
    boolean result2 = jpf.equals(jpt);
    System.out.println("Strings jpf and jpt are equal: " + result2);

    //converting jpf to uppercase
    System.out.println("Upper case jpf: " + jpf.toUpperCase());

    //replacing g character with v in jpf
    System.out.println("Replacing g with v in jpf: "+jpf.replace("g", "v"));
  }
}

Pengeluaran

Rentetan: Hello! Panjang Dunia: 12 Rentetan Pertama: Rentetan Kedua Java: Rentetan Bercantum Pengaturcaraan: Rentetan Pengaturcaraan Java jpf dan jps adalah sama: Rentetan benar jpf dan jpt adalah sama: Huruf besar palsu jpf: PENGATURCARAAN JAVA Menggantikan g dengan v dalam jpf: java provramminv

Kesimpulan

Kami berharap sekarang anda memahami apa itu rentetan dalam java, kelasnya dan cara melaksanakan kaedahnya yang berbeza. Jangan ragu untuk berlatih dan kembali apabila anda memerlukan lebih banyak bantuan. Selamat belajar!
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION