Belajar Java : Class String Fundamental Dan Method

String merupakan urutan dari karakter-karakter. Seperti misalnya "Java" adalah string yang terdiri dari 4 karakter. String adalah class yang bersifat immutable, artinya ketika string itu dibuat maka kontennya tidak bisa diubah. Terdapat 2 cara untuk membuat String pada pemrograman Java, diantaranya adalah:
  1. Menggunakan literal
  2. Menggunakan keyword new

String Literal 

Dalam Java, string dapat dibuat dengan cara menetapkan literal pada instance, seperti :

String string1 = "Java";
String string2 = "Java";

Seperti yang sudah anda ketahui, String merupakan objek pada Java. Bagaimanapun, dengan pernyataan di atas, anda tidak membuat string dengan keyword new.


Belajar Java Class String Fundamental Dan Method


Oleh karena itu compiler melakukan tugas tersebut, ia menciptakan sebuah objek string yang memiliki string literal, dalam hal ini adalah "Java" dan memberikannya pada instance string tersebut.

Bagaimana jika objek string sudah ada di memori? Ini hal kritis yang perlu dipahami. Jika demikian, maka compiler tidak akan menciptakan objek yang baru melainkan akan menetapkan objek lama yang sama ke instance yang baru.

Jadi, walaupun anda memiliki dua instance string seperti di atas, yaitu string1 dan string2, namun compiler hanya membuat objek yang memiliki nilai "Java" saja dan kemudian menetapkannya pada kedua instance tersebut.

Contoh:

Membuat 10 instance string dengan nilai yang sama seperti di bawah ini:

String string1 = "Java";
String string2 = "Java";
String string3 = "Java";
String string4 = "Java";
String string5 = "Java";
String string6 = "Java";
String string7 = "Java";
String string8 = "Java";
String string9 = "Java";
String string10 = "Java";

Berdasarkan pernyataan di atas, ada berapakah jumlah objek yang terdapat di memori? Dalam memori ternyata hanya ada satu objek saja yang memiliki nilai "Java", dan 10 instance string, yaitu string1, string2...string10 akan mengarah pada objek yang sama.

Keyword new 

Seperti anda ketahui sebelumnya, ketika anda mencoba menetapkan objek string yang sama pada beberapa literal yang berbeda, maka compiler akan hanya akan membuat satu objek dan membuat literal-literal tersebut mengarah pada objek yang sama.

Namun, ketika anda membuat string dengan menggunakan keyword new seperti berikut ini:

String string1  = new String("Java");
String string2  = new String("Java");

Dalam hal ini maka compiler akan membuat dua objek yang masing - masing memiliki nilai "Java".

Method-method Pada String Dan Penjelasannya


Berikut ini adalah beberapa method penting  dari String :

Method Penjelasan
char charAt(int index) Mengembalikan karater pada index yang telah ditentukan.Nilai yang ditentukan itu harus berada pada 0 sampai length() - 1. Jika index <0 || >= length dari String, maka IndexOutOfBoundsException akan muncul.
int codePointAt(int index) Mengembalikan nilai unicode dari indeks tertentu 
void getChars(int srcBegin,
int srcEnd, char[] dst, int dstBegin)
Menyalin karakter dari array sumber ke array tujuan. Hanya rentang tertentu yang akan disalin (srcBegin ke srcEnd) ke dst subarray( dimulai dari dstBegin)
boolean equals(Object obj) Membandingkan string dengan string tertentu, jika keduanya equal maka akan memberikan nilai true dan sebaliknya.
boolean contentEquals(StringBuffer sb) Membandingkan string pada string buffer tertentu.
boolean equalsIgnoreCase(String string) Sama dengan metode equals, tapi akan membandingkan string dengan cara yang tidak sensitif.
int compareTo(String string) Membandingkan dua string dengan berdasarkan nilai Unicode dari setiap karakter dalam string.
int compareToIgnoreCase(String string) Sama dengan method compareTo namun akan mengabaikan uppercase dan lowercase ketika melakukan perbandingan
boolean regionMatches(int srcoffset,
String dest, int destoffset, int len)
Menguji apakah dua area dari kedua string equal. Substring dari objek String dibandingkan dengan substring dari argumen lainnya.
boolean regionMatches(boolean ignoreCase,
int srcoffset, String dest, int destoffset, int len)
Variasi lain dari method regionMatches dengan tambahan argumen boolean untuk menentukan apakah perbandingan yang dilakukan adalah case sensitive atau case insensitive.
boolean startsWith(String prefix, int toffset) Memeriksa apakah substring yang dimulai dari index offset yang ditentukan memiliki prefix tertentu atau tidak
boolean startsWith(String prefix) Menguji apakah string memiliki prefix tertentu atau tidak, jika memiliki maka akan mengembalikan nilai true dan bila sebaliknya akan mengembalikan nilai false
boolean endsWith(String suffix) Menguji apakah akhir string memiliki suffix tertentu
int hashCode() Mengembalikan hash code dari string
int indexOf(int ch) Mengembalikan indeks dari kemunculan pertama karakter tertentu di dalam string
int indexOf(int ch, int fromIndex) Sama dengan method indexOf namun pencarian dimulai di dalam string dari fromIndex tertentu
int lastIndexOf(int ch) Mengembalikan kejadian terakhir dari suatu karakter di dalam string
int lastIndexOf(int ch, int fromIndex) Sama dengan method lastIndexOf(int ch) namun pencariannya dimulai dari fromIndex
int indexOf(String str) Mengembalikan indeks dari kejadian pertama dari substring str tertentu
int lastindexOf(String str) Mengembalikan indeks dari kejadian terakhir dari string str
String substring(int beginIndex) Mengembalikan substring dari suatu string. Substring tersebut dimulai dari karakter pada indeks tertentu
String substring(int beginIndex, int endIndex) Mengembalikan substring. Substring dimulai dari karakter pada beginIndex dan berakhir pada karakter di endIndex.
String concat(String str) Merangkaikan string tertentu pada akir suatu string lainnya
String replace(char oldChar, char newChar) Mengembalikan update terbaru dari string setelah mengganti semua oldChar dengan newChar
boolean contains(CharSequence s) Memeriksa apakah string memiliki urutan tertentu dari karakter, jika ya maka akan mengembalikan nilai true dan jika tidak akan mengembalikan nilai false. NullPointerException akan terlontar jika s bernilai null.
String replaceFirst(String regex, String replacement) Menggantikan kejadian pertama dari string yang sesuai terhadap regular expression yang diberikan (regex) dengan string pengganti tertentu.
String replaceAll(String regex, String replacement) Menggantikan semua kejadian dari substring-substring yang sesuai terhadap regular expression regex dengan string pengganti
String[] split(String regex, int limit) Memecah string dan mengembalikan array dari substring yang sesuai dengan regular expression yang diberikan di mana limit merupakan ambang batas.
String[] split(String regex) Sama seperti method (String regex, int limit) namun tidak memiliki limit.
String toLowerCase(Locale locale) Mengkonversi string menjadi lower case menggunakan aturan locale yang telah ditentukan
String toLowerCase() Equivalen dengan toLowerCase(Locale. getDefault())
String toUpperCase(Locale locale) Mengkonversi string menjadi lower case menggunakan aturan locale yang telah ditentukan
String toUpperCase() Equivalen dengan toUpperCase(Locale.getDefault())
String trim() Mengembalikan substring setelah menghilangkan spasi awal dan spasi yang mengikuti dari string asli
char[] toCharArray() Mengganti string menjadi array karakter
static String copyValueOf(char[] data) Mengembalikan string yang mengandung karakter dari array karakter tertentu
static String copyValueOf(char[] data, int offset, int count) Sama seperti method String copyValueOf(char[] data) namun dengan tambahan dua argumen yaitu inisial offset dan juga panjang dari sub-array
static String valueOf(data type) Mengembalikan representasi string dari tipe data tertentu
byte[] getBytes(String charsetName) Mengkonversi string menjadi urutan byte menggunakan charset encoding tertentu dan mengembalikan array dari byte-byte yang dihasilkan.
byte[] getBytes() Serupa dengan method byte[] getBytes(String charsetName) namun hanya menggunakan charset encoding default untuk mengkoversi string menjadi urutan byte-byte.
int length() Mengembalikan nilai panjang dari string
boolean matches(String regex) Menguji apakah string sesuai dengan regular expression (regex) tertentu

Tidak ada komentar

Bahasa Java. Diberdayakan oleh Blogger.