Rentetan ialah jujukan aksara, tetapi dalam java, ia dianggap sebagai objek dan sifatnya tidak berubah; java menyediakan pakej java.lang.String dengan kaedah berbeza yang tersedia untuk beroperasi pada rentetan, tetapi kami juga boleh mencipta rentetan boleh ubah dalam java.
Mulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
Kita boleh mentakrifkannya dengan menggunakan rentetan kata kunci literal dan baharu. Tetapi perbezaannya adalah literal tidak akan mencipta objek baharu melainkan dan sehingga ia tidak tersedia dalam kolam rentetan. Walau bagaimanapun, kata kunci baharu akan sentiasa mencipta objek baharu tanpa mengira kumpulan pemalar rentetan kerana ia mencipta rentetan dalam kawasan timbunan.
Dalam java, kita boleh menentukan rentetan menggunakan dua cara iaitu seperti berikut:
Rentetan yang kami cipta dengan menggunakan literal terus pergi ke kolam pemalar rentetan. Ini bermakna jika rentetan yang diminta sudah ada dalam kolam rentetan, maka rentetan sedia ada akan dikembalikan jika rentetan yang diminta tidak wujud, maka hanya contoh rentetan baharu yang akan dibuat dan diletakkan dalam kolam untuk rujukan masa hadapan. JVM melaksanakan semua perkara ini.
Sintaks:
String s="abc"; String s1 = "abc" ;
Dalam senario di atas, hanya satu objek akan dibuat dalam kolam rentetan kerana JVM tidak akan dapat mencari objek yang diminta, jadi ia akan membuatnya dan meletakkannya ke dalam kolam, dan s1 akan menunjuk kepada rujukan itu sahaja untuk kegunaan selanjutnya. Jadi string literal juga menjimatkan memori dengan tidak mencipta contoh yang sama lagi. Oleh itu, ia menjadikan memori kod kami cekap.
Di java, kami menggunakan kata kunci baharu untuk mencipta objek baharu. Setiap kali kami menggunakan kata kunci baharu, ia akan mencipta objek baharu untuk kami. Selain itu, objek yang dibuat menggunakan kata kunci baharu diletakkan ke dalam kawasan ingatan timbunan.
Sintaks:
String s = new Stirng("abc");
Dalam contoh di atas, objek ini akan diletakkan ke dalam kawasan ingatan timbunan, bukan kumpulan rentetan, kerana kami menciptanya menggunakan kata kunci baharu.
Contoh:
public class Main { public static void main(String[] args) { String s = "abc"; String s1 = "abc"; String ss = new String("abc"); System.out.println("Output will be :: " + s + " "+ s1 +" "+ ss); } }
Output:
Ia tidak boleh diubah, jadi kami tidak boleh menukar nilainya setelah ditetapkan. Jadi untuk mencipta rentetan boleh ubah, kita perlu menggunakan penimbal Rentetan untuk ini.
Beberapa perkara perlu diingat:
Pelbagai kaedah yang ada adalah seperti berikut:
Selain itu, kelas rentetan melaksanakan satu lagi antara muka, iaitu antara muka CharSequence; StringBuilder dan String Buffer juga melaksanakan antara muka ini. StringBuffer dan StringBuilder digunakan untuk mencipta rentetan boleh ubah dalam java.
Kod:
public class Demo{ public static void main(String[] args) { StringBuffer sb=new StringBuffer("creating string "); sb.append("executed");//original string will get chnage System.out.println("Result is " +sb);//it will print creating string executed } }
Output :
Kod:
public class Main{ public static void main(String[] args) { StringBuilder sb=new StringBuilder("Creating string"); sb.append(" using string Builder");//original will get change System.out.println("Result is "+sb); } }
Output:
Di bawah ialah contoh :
Kod:
public class Main{ public static void main(String[] args) { String s1="demoforsting"; System.out.println("String is " +s1.substring(2,4)); System.out.println( "with one parameter " +s1.substring(2)); } }
Output:
Code:
public class Demo{ public static void main(String[] args) { String s1="abc"; String s2="abc"; String s3="ABC"; String s4="java"; System.out.println("Result is " +s1.equals(s2));//true System.out.println("Result is " +s1.equals(s3));//false System.out.println("Result is " +s1.equals(s4));//false } }
Output:
Code:
public class Demo{ public static void main(String[] args) { String s1="convert it into uppercase"; String upper=s1.toUpperCase(); System.out.println("result is "+upper); } }
Output:
Code:
public class Demo{ public static void main(String[] args) { String s1="CONVERT IT INTO LOWER CASE"; String s1upper=s1.toLowerCase(); System.out.println("result is "+s1upper); } }
Output:
Code:
public class Main{ public static void main(String[] args) { String name="Demo to check contains method"; System.out.println("Result for conatins mehtod is " +name.contains("check")); System.out.println("Result for conatins mehtod is " +name.contains("method")); System.out.println("Result for conatins mehtod is " +name.contains("move")); } }
Output:
Code:
public class Main{ public static void main(String[] args) { String str1 = "Demo for"; String str2 = "Concat"; String str3 = "Method"; // doing for string one String str4 = str1.concat(str2); System.out.println("Result is "+str4); // for multiple string String str5 = str1.concat(str2).concat(str3); System.out.println("Result is "+str5); } }
Output:
Code:
public class Main { public static void main(String[] args) { String s1 =" Provide space to see use of trim method in java "; System.out.println(s1.length()); System.out.println("without trim output is "+s1); //Not using trim here String tr = s1.trim(); System.out.println(tr.length()); System.out.println("with trim output is "+tr); //using trim here } }
Output:
So java string is an immutable object that provides security in various aspects like URL reading, database username and password, port, and many other things. But if we want to create a mutable string, we should use a string buffer and builder.
Atas ialah kandungan terperinci Rentetan dalam Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!