String Viska Mutiawani, M.Sc Konsep penting String StringBuffer StringBuilder String String Berbeda dengan C, Java mempunyai kelas String. Kita tidak perlu tipe data array char untuk menyimpan rentetan aksara. Tipe data berjenis String akan menyimpan aksara di antara tanda “ “, termasuk ruang kosong Contoh: String kosong=“”; //suatu rentetan kosong String namaSaya = “Mohammad Muktasim”; Cara membuat String Dari karakter char Dari string dibatasi oleh “” Dari string dengan new Operasi Terhadap String Menggabung string Menggunakan operator ‘+’ String judul = “OO”; String buku = “.Java”; String judulBuku = judul + buku; System.out.println(judulBuku); OUTPUT OO.Java //tanpa spasi Operasi Terhadap String Java menghitung substring bermula dari 0 hingga 4 0: kedudukan ‘P’ Substring 4: kedudukan ‘i’ Mendapatkan sebagian daripada string yang lengkap Metod substring() digunakan String senikata = “Puji dan syukur kepada Ilahi”; String s = senikata.substring(0,4); System.out.println(“Subrstring bernilai ”+s); OUTPUT Substring bernilai Puji Operasi Terhadap String Panjang string Mendapatkan panjang suatu string Metod length() digunakan String kata = “Salam Sejahtera”; int panjang = kata.length(); // panjang bernilai 15 Membanding string Menguji apakah dua string mempunyai nilai yang sama Metod equals() digunakan “salam”.equals(kata); // bernilai false “Salam sejahtera”.equalIgnoreCase(kata); // bernilai true Method String lain? Masih banyak method class String lain yang berguna seperti: char charAt(int index) int length() boolean contains(CharSequence s) boolean isEmpty() String concat(String str) String replace(char old, char new) String trim() String split(String regex) int indexOf(int ch) String toLowerCase() String toUpperCase() Method charAt() public class CharAtExample{ public static void main(String args[]){ String name="javatpoint"; char ch=name.charAt(4); //returns the char value at the 4th index System.out.println(ch); }} Method endsWith() dan startsWith() public class EndsWithExample{ public static void main(String args[]){ String s1="java by javatpoint"; System.out.println(s1.endsWith("t")); System.out.println(s1.startsWith("point")); }} Method equals() public class EqualsExample{ public static void main(String args[]){ String s1="javatpoint"; String s2="javatpoint"; String s3="JAVATPOINT"; String s4="python"; System.out.println(s1.equals(s2)); //true because content and case is same System.out.println(s1.equals(s3));//false because case is not same System.out.println(s1.equals(s4));//false because content is not same }} Method isEmpty() public class IsEmptyExample{ public static void main(String args[]){ String s1=""; String s2="javatpoint"; System.out.println(s1.isEmpty()); System.out.println(s2.isEmpty()); }} Method split() public class SplitExample{ public static void main(String args[]){ String s1="java string split method by javatpoint"; String[] words=s1.split(“ "); //splits the string based on space //using java foreach loop to print elements of string array for(String w:words){ System.out.println(w); } }} StringBuffer StringBuffer Jika objek String diciptakan, objek tadi tidak bisa dimodifikasi, hanya bisa ditimpa dengan data yang baru. StringBuffer serupa dengan String hanya isi dari StringBuffer dapat dimodifikasi. Dapat ditambah di ujung: append Dapat ditambah Dapat dihapus Dapat diganti urutan Contoh append() pada StringBuffer class A{ public static void main(String args[]){ StringBuffer sb=new StringBuffer("Hello "); sb.append("Java");//now original string is changed System.out.println(sb);//prints Hello Java } } Contoh insert() pada StringBuffer class A{ public static void main(String args[]){ StringBuffer sb=new StringBuffer("Hello "); sb.insert(1,"Java");//now original string is changed System.out.println(sb);//prints HJavaello } } Contoh replace() pada StringBuffer class A{ public static void main(String args[]){ StringBuffer sb=new StringBuffer("Hello"); sb.replace(1,3,"Java"); System.out.println(sb);//prints HJavalo } } Contoh delete() pada StringBuffer class A{ public static void main(String args[]){ StringBuffer sb=new StringBuffer("Hello"); sb.delete(1,3); System.out.println(sb);//prints Hlo } } Contoh reverse() pada StringBuffer class A{ public static void main(String args[]){ StringBuffer sb=new StringBuffer("Hello"); sb.reverse(); System.out.println(sb);//prints olleH } } StringBuilder StringBuilder StringBuilder mirip seperti StringBuffer, bedanya StringBuilder non-synchronized. Method pada StringBuilder juga mirip seperti StringBuffer, seperti: append() insert() replace() delete() reverse() StringBuffer vs StringBuilder StringBuffer adalah synchronized, maksudnya dua thread tidak dapat mengakses method pada StringBuffer secara bersamaan. StringBuilder adalah non-synchronized StringBuffer sedikit kurang efisien sehingga sedikit lebih lambat berbanding dengan StringBuilder.