Home » Java » Java String (1): Penjelasan Dasar dan Sintaks

Java String (1): Penjelasan Dasar dan Sintaks

by Bagus Dharma Iswara
by Bagus Dharma Iswara

Di Java, string pada dasarnya adalah objek yang mewakili urutan nilai karakter. Sebuah array karakter bekerja sama seperti string Java. Sebagai contoh yaitu

char[] ch={'j','a','v','a','t','p','o','i','n','t'};  
String s=new String(ch);  
// sama dengan kode berikut
String s="dosenit";  

Kelas String Java menyediakan banyak metode untuk melakukan operasi pada string seperti bandingkan (), concat (), equals (), split (), length (), replace (), bandingkanTo (), intern (), substring () dan lainnya. Kelas java.lang.String mengimplementasikan antarmuka Serializable, Comparable dan CharSequence.

Interface CharSequence

Interface CharSequence digunakan untuk merepresentasikan urutan karakter. Kelas String, StringBuffer dan StringBuilder mengimplementasikannya. Artinya, kita bisa membuat string di java dengan menggunakan tiga kelas ini. String Java tidak dapat diubah yang artinya tidak dapat diubah. Setiap kali kami mengubah string apa pun, instance baru dibuat. Untuk string yang bisa berubah, Anda dapat menggunakan kelas StringBuffer dan StringBuilder. Kami akan membahas string yang tidak berubah nanti. Pertama mari kita pahami apa itu String di Java dan cara membuat objek String.

Apa Itu String ?

Secara umum, String adalah urutan karakter. Namun di Java, string adalah objek yang merepresentasikan rangkaian karakter. Kelas java.lang.String digunakan untuk membuat objek string. Bagaimana cara membuat objek string di java? Ada dua cara untuk membuat objek String yaitu dengan string literal dan dengan kata kunci new.

  1. String Literal yaitu Literal String Java dibuat dengan menggunakan tanda kutip ganda. Sebagai contoh yaitu dengan membuat String s=”welcome”;  Setiap kali Anda membuat string literal, JVM memeriksa “kumpulan string konstan” terlebih dahulu. Jika string sudah ada pada kumpulan string, maka akan mengembalikan referensikan instance gabungan pada string. Jika string tidak ada pada kumpulan string maka instance string baru akan dibuat dan ditempatkan pada kumpulan string. Sebagai contoh yaitu
String s1="Welcome";  
String s2="Welcome";//It doesn't create a new instance  

nilai “Welcome” dalam kumpulan string konstan, ini akan menyebabkan kita dapat untuk membuat objek baru. Setelah itu akan menemukan string dengan nilai “Welcome” di kumpulan string, maka ini tidak akan membuat objek baru tetapi akan mengembalikan referensi ke contoh yang sama. Mengapa Java menggunakan konsep String literal? Jadi disini untuk membuat Java lebih hemat memori (karena tidak ada objek baru yang dibuat jika sudah ada di kumpulan konstan string).

2. Dengan kata kunci new yaitu Dalam kasus seperti ini, JVM akan membuat objek string baru di memori heap normal (non-pool), dan literal “Welcome” akan ditempatkan di string pool konstan. Variabel s akan merujuk ke objek di heap (non-pool). dapat kita lihat pada contoh berikut

String s=new String("Welcome");

Metode Kelas String di Java

Kelas java.lang.String menyediakan banyak metode yang berguna untuk melakukan operasi pada urutan nilai karakter. Metode yang biasanya dipakai yaitu

char charAt (int index)yaitu mengembalikan nilai char untuk indeks tertentu
int length ()yaitu mengembalikan panjang string
format String statis (format String, Object … args)yaitu mengembalikan string yang diformat.
format String statis (Lokal l, format String, Objek … args)yaitu mengembalikan string yang diformat dengan lokal yang diberikan.
String substring (int beginIndex)mengembalikan substring yaitu untuk indeks awal yang diberikan.
String substring (int beginIndex, int endIndex)yaitu mengembalikan substring untuk indeks awal dan indeks akhir yang diberikan.
boolean berisi (CharSequence s)yaitu mengembalikan true atau false setelah mencocokkan urutan nilai char.
String join statis (CharSequence delimiter, Iterable elements)yaitu mengembalikan string yang digabungkan.
boolean same(Objek lain)yaitu memeriksa persamaan string dengan objek yang diberikan.
boolean isEmpty ()yaitu memeriksa apakah string kosong.
String concat (String str)yaitu menggabungkan string yang ditentukan.
replace string (char old, char new)yaitu menggantikan semua kejadian dari nilai char yang ditentukan.
replace string (CharSequence lama, CharSequence baru)yaitu menggantikan semua kemunculan CharSequence yang ditentukan.
String statis equalsIgnoreCase (String another)yaitu membandingkan string lain. Itu tidak memeriksa sebuah case.
String [] split (String regex)yaitu mengembalikan string yang cocok dengan regex.
String [] split (String regex, int limit)yaitu mengembalikan string split yang cocok dengan regex dan limit.
String intern ()yaitu mengembalikan string yang diinternal.
int indexOf (int ch)yaitu mengembalikan indeks nilai char yang ditentukan.
int indexOf (int ch, int fromIndex)yaitu mengembalikan indeks nilai char yang ditentukan dimulai dengan indeks yang diberikan.
int indexOf (String substring)yaitu mengembalikan indeks substring yang ditentukan.
int indexOf (String substring, int fromIndex)yaitu mengembalikan indeks substring yang ditentukan dimulai dengan indeks yang diberikan.
String toLowerCase ()yaitu mengembalikan string dalam huruf kecil.
String toLowerCase (Locale l)yaitu mengembalikan string dalam huruf kecil menggunakan lokal tertentu.
String toUpperCase ()yaitu mengembalikan string dalam huruf besar.
String toUpperCase (Lokal l)yaitu mengembalikan string dalam huruf besar menggunakan lokal yang ditentukan.
String trim ()yaitu menghapus spasi awal dan akhir string ini.
Statis String valueOf (int value)yaitu mengubah tipe yang diberikan menjadi string. Ini adalah metode yang kelebihan beban.

String Immutable di Java

Di java, objek string tidak bisa diubah. Tidak dapat diubah berarti tidak dapat dimodifikasi atau tidak dapat diubah. Setelah objek string dibuat, datanya atau statusnya tidak dapat diubah tetapi objek string baru dapat dibuat.

Contoh sederhana nya dapat kita buat dengan kode berikut

class Testimmutablestring{  
 public static void main(String args[]){  
   String s="Sachin";  
   s.concat(" Tendulkar");//concat() method appends the string at the end  
   System.out.println(s);//will print Sachin because strings are immutable objects
}  
} // Output:Sachin

Mengapa objek string tidak dapat diubah di java? ini karena java menggunakan konsep string literal, misalkan ada 5 variabel referensi, semuanya mengacu pada satu objek “sachin”. Jika satu variabel referensi mengubah nilai objek, maka akan terpengaruh ke semua variabel referensi. Itulah mengapa objek string tidak dapat diubah di java.

Compare String di java

Kita dapat membandingkan string di java berdasarkan konten dari isi dan referensinya. Ini digunakan dalam sebuah metode otentikasi atau pengecekan (dengan metode equals ()), pengurutan (dengan metode compareTo ()), pencocokan referensi (oleh == operator) dan lainnya. Ada tiga cara untuk membandingkan string di java yaitu

  1. Metode equals () yaitu Metode String equals () yang membandingkan konten asli dari string. Ini membandingkan nilai string untuk kesamaan stringnya. Kelas string ini menyediakan dua metode yaitu public boolean sama (Objek lain) membandingkan string dengan objek yang ditentukan dan public boolean equalsIgnoreCase (String lain) membandingkan String dengan string lain, dengan mengabaikan sebuah case.
  2. metode compareTo () yaitu metode String CompareTo () untuk membandingkan nilai secara leksikografis dan mengembalikan nilai integer yang menjelaskan jika string pertama kurang dari, sama dengan atau lebih besar dari string kedua.
  3. oleh == operator yaitu membandingkan referensi bukan nilai.

You may also like