String String mendefinisikan dan mendukung string karakter. Pada beberapa bahasa pemrograman string merupakan array dari karakter, sedangkan di Java string merupakan object. Membangun sebuah string (Contructing String) Sebuah string dapat dibuat secara langsung dengan menulis : String greeting = "Hello world!"; Pada contoh diatas, kata : "Hello world!" merupakan string litera, yaitu serangkaian karakter dalam suatu penggalan program yang diapit oleh kutip ganda. Kapanpun ditemukan string literal dalam program, maka compiler akan membentuk objek String dengan nilai yang terkandung didalamnya, pada contoh diatas adalah Hello world!. Membangun string juga seperti membangun object pada umumnya, yaitu dengan menggunakan keyword new dan memanggil constructor String. Class String mempunyai 11 constructor yang memungkinkan pemrogram untuk mendeklarasikan sebuah string dengan berbagai cara, contoh : String str = new String (“Hello”); Perintah diatas akan membuat object String dengan nama str yang berisi string karakter “Hello”. Dapat juga membangun String dari String lainnya, contoh : String str = new String (“Hello”); String str2 = new String(str); atau char[] helloArray = { 'H', 'e', 'l', 'l', 'o', '.'}; String helloString = new String(helloArray); System.out.println(helloString); Program sederhana : 1. //Introduce String 2. class StringDemo { 3. public static void main (String args[]) { 4. //declare strings in various ways 5. String str1 = new String (“Java strings are objects.”); 6. String str2 = “They are constructed various ways.”; 7. String str3 = new String (str2); 8. System.out.println (str1); 9. System.out.println (str2); 10. System.out.println (str3); 11. } }
Output : Java strings are objects. They are constructed various ways. They are constructed various ways.
Length string dan Concat String int length() Menghasilkan panjang dari string, yaitu banyaknya karakter yang menyusun string tersebut string1.concat(string2);
Berfungsi untuk menyambung 2 buah string
Contoh : 1. public class StringDemo { 2. public static void main(String[] args) { 3. //Mencari Panjang String 4. String palindrome = "Dot saw I was Tod"; 5. int len = palindrome.length(); 6. System.out.println ("Panjang String = " + len); 7. 8. //menggabungkan string 9. String str1 = "Belajar"; 10. String str2 = " Bahasa"; 11. String str3 = " Java"; PBO/Java/Ayuliana/Mar2009
1
12. String str4 = str1 + str2 + str3; 13. System.out.println("Hasil str4 = "+ str4); 14. System.out.println("Belajar".concat(" Bahasa").concat(" Java")); 15. } } Output :
Panjang String : 17 Hasil Str4 = Belajar Bahasa Java Belajar Bahasa Java
Mencari karakter dan substring dengan index char charAt(int index) Mengembalikan karakter dalam index yang dispesifikasikan oleh index. indeks pertama = 0, dan indeks terakhir (str.length()-1) Penggalan program berikut akan mengambil karakter yang berada pada index 9 dalam sebuah string : String anotherPalindrome = "Niagara. O roar again!"; char aChar = anotherPalindrome.charAt(9); maka, ilustrasi yang diperoleh :
Jika menginginkan untuk mengambil beberapa karakter, dapat digunakan perintah substring dibawah ini : String substring (int beginIndex, int endIndex)
String substring(int beginIndex)
Mengembalikan string baru, merupakan substring dari string. argumen integer pertama menspesifikasikan indeks dari karakter pertama, argumen integer kedua merupakan index dari karakter terakhir + 1. Mengembalikan string baru, merupakan substring dari string. argumen integer pertama menspesifikasikan indeks dari karakter pertama hingga akhir string
Contoh penggalan program dan ilustrasi pengambilan karakter : String anotherPalindrome = "Niagara. O roar again!"; String roar = anotherPalindrome.substring(11, 15);
Contoh : 1. class StringDemo { 2. public static void main (String args[]) { 3. String orgstr = "Java Makes the Web move"; 4. String substr = orgstr.substring(5, 18); 5. String substr1 = orgstr.substring(5); 6. 7. System.out.println("orgstr : " + orgstr); 8. System.out.println("substr : " + substr); 9. System.out.println("substr1 : " + substr1); 10. } } Output :
orgstr : Java Makes the Web move substr : Makes the Web substr1 : Makes the Web move
PBO/Java/Ayuliana/Mar2009
2
Manipulasi String String[] split(String regex) String[] split(String regex, int limit) CharSequence subSequence(int beginIndex, int endIndex) String trim() String toLowerCase() String toUpperCase() int indexOf(String str)
int lastIndexOf(String str)
Pencarian untuk spesifikasi yang sesuai dengan argumen string (yang mengandung ekspresi regular) dan memisahkan string ini kedalam array dari string. Argumen integer optional menspesifikasikan ukuran maksimum array yang dikembalikan Mengembalikan untaian karakter yang dibangun dari beginIndex hingga endIndex - 1. Mengembalikan salinan dari string dengan menghapuskan spasi diawal dan diakhir string Mengembalikan salinan dari string dan mengubahnya menjadi lowercase atau uppercase. Jika tidak menyebabkan perubahan, maka akan mengembalikan nilai aslinya. Mencari string yang diminta untuk substring yang dispesifikasikan oleh str. Mengembalikan index pertama yang sama atau –1 jika salah Mencari string yang diminta untuk substring yang dispesifikasikan oleh str. Mengembalikan index terakhir yang sama atau –1 jika salah
contoh : 1. public class StringDemo { 2. public static void main(String[] args) { 3. //ToUpper dan ToLower 4. System.out.println("HeLLo".toLowerCase()); 5. System.out.println("HeLLo".toUpperCase()); 6. 7. //Trim => menghilangkan bagian kosong didepan dan belakang 8. System.out.println(" Hello World ".trim()); 9. 10. //indexOf dan lastIndexOf 11. String str1 = "Now is the time for all good men to come to the aid of their country."; 12. 13. System.out.println("Length of str1 : " + str1.length()); 14. System.out. println("indexof ('t') : " + str1.indexOf('t')); 15. System.out. println("lastindexof ('t') : " + str1.lastIndexOf ('t')); 16. System.out. println("indexof (\"the\") : " + str1.indexOf("the")); 17. System.out. println("lastindexof (\"the\") : " + str1.lastIndexOf ("the")); 18. } } Output :
hello HELLO Hello World Length of str1 : 69 indexof ('t') : 7 lastindexof ('t') : 65 indexof (\"the\") : 7 lastindexof (\"the\") : 55
Mengganti string/substring String replace(char oldChar, char newChar) String replace(CharSequence target, CharSequence replacement) String replaceAll(String regex, String replacement) PBO/Java/Ayuliana/Mar2009
Mengembalikan hasil string dari penggantian seluruh rangkaian karakter lama dengan karakter yang baru. Mengganti setiap substring dari suatu string yang sesuai antara urutan literal target dengan spesifikasi urutan literal pengganti Mengganti setiap substring dari suatu string yang sesuai antara ekspresi regular yang diberikan dengan penggantian yang diberikan 3
String replaceFirst(String regex, String replacement)
Mengganti awal substring dari suatu stringyang sesuai antara ekspresi regular yang diberikan dengan penggantian yang diberikan
Contoh : 1. public class StringDemo { 2. public static void main(String[] args) { 3. 4. //replace karakter 5. System.out.println("Hello".replace('l', 'w')); 6. } } Perbandingan string int compareTo(String anotherString)
int compareToIgnoreCase(String str)
boolean equals(String str) boolean equalsIgnoreCase(String Str)
boolean endsWith(String suffix) boolean startsWith(String prefix) boolean startsWith(String prefix, int offset)
boolean regionMatches(int toffset, String other, int ooffset, int len)
boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)
boolean matches(String regex)
Output : Hewwo
Membandingkan 2 string secara lexicographikal. Mengembalikan nilai yang mengindikasikan apakah string tersebut lebih besar, (Hasil > 0), sama (hasil = 0), atau lebih kecil (hasil < 0) dari pada argument. Membandingkan 2 string secara lexicographikal dengan mengabaikan huruf besar/kecil. Mengembalikan nilai yang mengindikasikan apakah string tersebut lebih besar, (Hasil > 0), sama (hasil = 0), atau lebih kecil (hasil < 0) dari pada argument. Mengembalikan nilai true jika string yang diminta sama dengan karakter dalam str Mengembalikan nilai true jika dan hanya jika string yang diminta sama dengan karakter dalam str dengan mengabaikan huruf besar/kecil. Mengembalikan nilai true jika string diawali atau diakhiri dengan substring yang dispesifikasikan dalam argumen Mempertimbangkan string yang diawali di index offset, dan mengembalikan nilai true jika diawali dengan substring yang dispesifikasikan dalam argumen. Menguji apakah region yang dispesisikasikan pada string ini sesuai dengan region yang dispesifikasikan pada string dalam argumen. Region adalah length len dan mulai pada index toffset untuk string yang dimaksud dan ooffset untuk string lainnya. Menguji apakah region yang dispesisikasikan pada string ini sesuai dengan region yang dispesifikasikan pada string dalam argumen. Region adalah length len dan mulai pada index toffset untuk string yang dimaksud dan ooffset untuk string lainnya Argumen boolean mengindikasikan pengabaian karakter besar/kecil Menguji apakah string yang dimaksud sesuai dengan ekspresi regular yang dispesifikasikan.
Contoh : 1. public class StringDemo { 2. public static void main(String[] args) { 3. String str1 = "budi"; 4. String str2 = "budy"; 5. int result; 6. 7. result = str1.compareToIgnoreCase(str2); 8. 9. PBO/Java/Ayuliana/Mar2009
4
10. 11. 12. 13. 14. }
System.out.println("Hasil : " + result); if(result < 0 ) System.out.println(str1 + " < " + str2); else if(result > 0 ) System.out.println(str1 + " > " + str2); else System.out.println(str1 + " = " + str2); }
Output :
Hasil = -16 budi < budy
Contoh : 1. //Some string operation 2. class StrBuffer { 3. public static void main (String args[]) { 4. StringBuffer str = new StringBuffer ("Hello World"); 5. System.out.println("buffer before = " + str); 6. System.out.println("charAt(1) before = " + str.charAt(1)); 7. str.setCharAt(1, 'i'); 8. str.setLength(2); 9. System.out.println("buffer after = " + str); 10. System.out.println("charAt(1) after = " + str.charAt(1)); 11. 12. //Append 13. StringBuffer str1 = new StringBuffer (40); 14. int a = 2; 15. String S = str1.append("Hello ").append(a).append("-IA..!!!").toString();; 16. System.out.println(S); 17. 18. //Insert 19. StringBuffer str2 = new StringBuffer ("Hello World"); 20. str2.insert(6, "there "); 21. System.out.println(str2); 22. } 23. } Output : buffer before = Hello World charAt(1) before = e buffer after = Hi charAt(1) after = i Hello 2-IA..!!! Hello there World
PBO/Java/Ayuliana/Mar2009
5