Memahami Method boolean regionMatches() Pada Class String

Method boolean regionMatches() akan menguji apakah suatu region dari dua string equal atau tidak. Jadi substring dari suatu objek String dibandingkan dengan suatu substring dari argumen lainnya.

Apa kriterianya ketika method ini mengembalikan nilai true?

Hasil akan mengembalikan nilai true jika substring ini merepresentasikan urutan karakter yang sama, dan hanya akan mengabaikan case tertentu jika parameter boolean ignoreCase juga true.


boolean regionMatches()


Substring dari objek String ini akan dibandingkan dimulai dari indeks toffset dan memiliki panjang len. Sementara itu substring lainnya yang akan dibandingkan dimulai dari index oofset dan memiliki panjang len.

Method akan mengembalikan nilai false jika salah satu dari kondisi di bawah ini terpenuhi:

  • toffset bernilai negatif

  • ooffset bernilai negatif

  • toffset + len lebih besar dibandingkan dengan panjang dari objek String

  • ooffset + len lebih besar dari panjang argumen other

  • ignoreCase bernilai false 

Dengan method ini anda bisa membandingkan substring dari input String dengan substring dari String tertentu.

Terdapat dua model dari method ini yaitu:
  • public boolean regionMatches(int toffset, String other, int ooffset, int len) dengan method ini pengujian akan dilakukan dengan case sensitive.

  • public boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) dengan method ini pengujian dapat memilih untuk mempertimbangkan apakah menggunakan ketentuan khusus.

Parameter

Parameter-parameter yang terdapat dalam method tersebut antara lain adalah:
  • ignoreCase : jika bernilai true, maka akan mengabaikan case ketika membandingkan karakter-karakter string, tipe boolean

  • toffset : offset permulaan dari subregion pada string tersebut, tipe int

  • other : merupakan argumen dari string, tipe String

  • ooffset : permulaan offset dari subregion pada argumen string, tipe int

  • len : jumlah dari karakter yang akan dibandingkan, tipe int

Contoh:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
public class Test_regionMatches {
 
 public static void main(String[] args) {
  
  String string1 = "Belajar Bahasa Pemrograman Java";
  String string2 = "Pemrograman Java Itu Menyenangkan";
  String string3 = "Haruskah Belajar pemrograman Java?";
  
  //Membandingkan apakah urutan karakter indeks 15 s/d 30 pada string1
  //equal dengan urutan karakter pada indeks 0 s/d 15 pada string2
  //boolean regionMatches(int toffset, String other, int ooffset, int len)
  boolean test1 = string1.regionMatches(15, string2, 0, 16);
  //Menampilkan hasil
  System.out.println("Apakah string1 indeks 15 s/d 30 equals "
       + "dengan string2 indeks 0 s/d 15? " + test1);//true
  
  System.out.println();
  
  //Membandingkan apakah urutan karakter indeks 15 s/d 30 pada string1
  //equal dengan urutan karakter pada indeks 17 s/d 32 pada string3
  //boolean regionMatches(int toffset, String other, int ooffset, int len)
  boolean test2 = string1.regionMatches(15, string3, 17, 16);
  //Menampilkan hasil
  System.out.println("Apakah string1 indeks 15 s/d 30 equals "
       + "dengan string3 indeks 17 s/d 32? " + test2);//false, karena case sensitive
  
  System.out.println();
  
  //Membandingkan apakah urutan karakter indeks 15 s/d 30 pada string1
  //equal dengan urutan karakter pada indeks 17 s/d 32 pada string3
  //boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)
  //Sekarang menjadi tidak case sensitive karena ignoreCase disetting true
  boolean test3 = string1.regionMatches(true, 15, string3, 17, 16);
  System.out.println("Apakah string1 indeks 15 s/d 30 equals "
    + "dengan string3 indeks 17 s/d 32? " + test3);//true
 }

}

Perhatikan pada line 33 pada kode di atas, parameter ignoreCase di setting true, sehingga case tertentu seperti perbedaan huruf kapital dengan huruf kecil ketika membandingkan substring dapat diabaikan, atau menjadi tidak case sensitive. Oleh karena itu method mengembalikan nilai true.

Output:

Apakah string1 indeks 15 s/d 30 equals dengan string2 indeks 0 s/d 15? true

Apakah string1 indeks 15 s/d 30 equals dengan string3 indeks 17 s/d 32? false

Apakah string1 indeks 15 s/d 30 equals dengan string3 indeks 17 s/d 32? true
Memahami Method boolean regionMatches() Pada Class String Memahami Method boolean regionMatches() Pada Class String Reviewed by Bahasa Java on 06.27.00 Rating: 5

Tidak ada komentar:

Diberdayakan oleh Blogger.