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.
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)
Mengembalikan string baru, merupakan substring dari string. argumen integer pertama menspesifikasikan indeks dari karakter pertama, argumen integer kedua merupakan index dari karakter terakhir + 1.
String substring(int beginIndex) 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
Manipulasi String String[] split(String regex) String[] split(String regex, int limit)
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 CharSequence
subSequence(int beginIndex, int endIndex)
Mengembalikan untaian karakter yang dibangun dari beginIndex hingga endIndex - 1.
String trim() Mengembalikan salinan dari string dengan menghapuskan spasi diawal dan diakhir string
String toLowerCase() String toUpperCase()
Mengembalikan salinan dari string dan mengubahnya menjadi lowercase atau uppercase. Jika tidak menyebabkan perubahan, maka akan mengembalikan nilai aslinya.
int indexOf(String str) Mencari string yang diminta untuk substring yang dispesifikasikan oleh str. Mengembalikan index pertama yang sama atau –1 jika salah
int lastIndexOf(String str) 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. } } indexof (\"the\") : 7 lastindexof (\"the\") : 55
Mengganti string/substring
String replace(char oldChar, char newChar) Mengembalikan hasil string dari penggantian seluruh rangkaian karakter lama dengan karakter yang baru.
String replace(CharSequence target, CharSequence replacement)
Mengganti setiap substring dari suatu string yang sesuai antara urutan literal target dengan spesifikasi urutan literal pengganti
String replaceAll(String regex, String replacement)
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. } }
Output : Hewwo
Perbandingan string
int compareTo(String anotherString) 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.
int compareToIgnoreCase(String str) 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.
boolean equals(String str) Mengembalikan nilai true jika string yang diminta sama dengan karakter dalam str
boolean equalsIgnoreCase(String Str) Mengembalikan nilai true jika dan hanya jika string yang diminta sama dengan karakter dalam str dengan mengabaikan huruf besar/kecil.
boolean endsWith(String suffix) boolean startsWith(String prefix)
Mengembalikan nilai true jika string diawali atau diakhiri dengan substring yang dispesifikasikan dalam argumen
boolean startsWith(String prefix, int offset)
Mempertimbangkan string yang diawali di index offset, dan mengembalikan nilai true jika diawali dengan substring yang dispesifikasikan dalam argumen.
boolean regionMatches(int toffset, String other, int ooffset, int len)
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.
boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)
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
boolean matches(String regex) 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.
10. System.out.println("Hasil : " + result);
11. if(result < 0 ) System.out.println(str1 + " < " + str2);
12. else if(result > 0 ) System.out.println(str1 + " > " + str2); 13. else System.out.println(str1 + " = " + str2); 14. } }
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 :