Pambuka kanggo StringUtils
StringUtils minangka kelas Apache Commons sing paling akeh digunakake. Isine macem-macem utilitas lan cara sing mbantu pangembang supaya ora nulis boilerplate utawa mung kode sing ora bisa digunakake kanggo operasi dhasar.
Akeh metode ing kelas StringUtils duwe java.lang.String sing padha nanging, ora kaya metode java.lang.String , ora aman. Iki tegese NullPointerException ora dibuwang ing wayahe sing paling ora dikarepke.
Apache Commons ngemot sawetara cara, lan kita bakal nliti sawetara sing paling umum digunakake.
Daftar metode StringUtils:
kosong() | Priksa yen senar kosong |
padha () | Mbandhingaké strings |
mbandhingake () | Mbandhingaké strings |
indeksOf() | Nemokake substring ing senar |
lastIndexOf() | Nemokake substring ing senar |
ngandhut() | Priksa manawa substring ana ing senar |
ngandhutIgnoreCase() | Priksa manawa ana substring ing senar, ora nggatekake kasus |
ngandhutAny() | Priksa manawa ana substring ing ngendi wae ing senar |
ngandhutNone() | Priksa manawa ana substring ing ngendi wae ing senar |
ngandhutMung() | Priksa manawa substring ana ing senar |
substring() | Njupuk substring |
pamisah() | Pisah senar dadi substrings |
gabung() | concatenate substrings |
mbusak () | Mbusak substring |
ganti() | Ganti substring |
countMatches() | Ngetung jumlah sing cocog |
StringUtils.isEmpty() lan StringUtils.isBlank()
Loro-lorone cara digunakake kanggo mriksa yen senar ngemot teks apa wae. Padha bali bener yen senar tenan kosong. Kajaba iku, isBlank () uga bakal bali bener yen senar mung ngemot spasi.
Padha uga duwe cara kuwalik dhewe: isNotEmpty () lan isNotBlank () .
Ayo ndeleng carane sampeyan bisa nggunakake isEmpty() bebarengan karo java.lang.String.isEmpty() mitra , uga isBlank() :
String nullValue = null;
String emptyValue = "";
String blankValue = "\n \t \n";
if(StringUtils.isEmpty(emptyValue)) {
System.out.println("emptyValue is emptyValue");
}
if(StringUtils.isBlank(blankValue)) {
System.out.println("blankValue is blankValue");
}
if(!nullValue.isEmpty()) {
System.out.println("nullString isn't null");
}
Ana telung variabel saka jinis String kene . Siji nuding null , kaloro ora null nanging ora ana isi (string kosong), lan katelu ora kosong nanging bakal nyithak asil kosong.
Nglakokake kode iki ngasilake:
emptyValue is emptyValue
blankValue is blankValue
Exception in thread "main" java.lang.NullPointerException
Cara isEmpty () dibangun ing java.lang.String ora null aman . Sampeyan bakal gampang njaluk NullPointerException yen nyoba kanggo mriksa yen kosong, amarga sampeyan nelpon cara ing referensi null . Sampeyan kudu mriksa luwih dhisik manawa referensi kasebut nol:
String nullValue = null;
String emptyValue = "";
String blankValue = "\n \t \n";
if(StringUtils.isEmpty(emptyValue)) {
System.out.println("emptyValue is emptyValue");
}
if(StringUtils.isBlank(blankValue)) {
System.out.println("blankValue is blankValue");
}
if(nullValue != null && !nullValue.isEmpty()) {
System.out.println("nullString isn't null");
}
Saiki iki nyebabake:
emptyValue is emptyValue
blankValue is blankValue
Lan yen kita nyoba cara iki ingnullString:
String nullValue = null;
if(StringUtils.isEmpty(nullValue)) {
System.out.println("nullValue is emptyValue");
}
if(StringUtils.isBlank(nullValue)) {
System.out.println("nullValue is blankValue");
}
Banjur kita entuk:
nullValue is emptyValue
nullValue is blankValue
Metode StringUtils ora aman lan ngasilake asil sing dikarepake sanajan dilewati null .
StringUtils.equals()
Cara iki mbandhingake loro strings lan bali bener yen padha identik utawa yen loro referensi nuding null , nanging weruh sing cara iki sensitif huruf cilik.
Ayo ndeleng cara kerjane:
System.out.println(StringUtils.equals(null, null));
System.out.println(StringUtils.equals(null, "some information"));
System.out.println(StringUtils.equals("some information", null));
System.out.println(StringUtils.equals("some information", "some information"));
System.out.println(StringUtils.equals("some additional information", "some information"));
asil:
true
false
false
true
false
Kanggo mbandhingake metode equals() saka StringUtils karo java.lang.String.equals() :
String nullValue = null;
System.out.println(StringUtils.equals(nullValue, null));
System.out.println(StringUtils.equals(nullValue, "some information"));
System.out.println(nullValue.equals(null));
System.out.println(nullValue.equals("some information"));
Iki nggawa sampeyan bali menyang:
true
false
Exception in thread "main" java.lang.NullPointerException
Maneh, nelpon cara ing referensi null asil ing NullPointerException , lan sampeyan kudu mriksa yen variabel referensi null sadurunge nggunakake.
StringUtils.compare()
Pranyatan cara iki katon kaya iki:
public static int compare(final String str1, final String str2)
Cara iki mbandhingake rong senar kanthi leksikografis, kaya cara java.lang.String.compareTo() , bali:
- 0 yen str1 padha karo str2 (utawa loro-lorone null)
- Nilai kurang saka 0 yen str1 kurang saka str2
- Nilai luwih saka 0 yen str1 luwih saka str2
Urutan leksikografis yaiku urutan kamus. Ayo ndeleng carane kita bisa nggunakake iki ing program kita:
System.out.println(StringUtils.compare(null, null));
System.out.println(StringUtils.compare(null , "codeGym"));
System.out.println(StringUtils.compare("codeGym", null));
System.out.println(StringUtils.compare("codeGym", "CODEGYM"));
System.out.println(StringUtils.compare("codeGym", "codeGym"));
Kita entuk:
0
-1
1
32
0
Cathetan: Nilai null dianggep kurang saka nilai non- null . Loro nilai null dianggep padha.
Priksa manawa senar ngemot substring liyane
Kanggo nindakake iki, StringUtils duwe 5 cara:
- ngandhut()
- ngandhutIgnoreCase()
- ngandhutAny()
- ngandhutNone()
- ngandhutMung()
Metode ngemot () ngasilake bener utawa salah gumantung manawa urutan telusuran ana ing urutan liya utawa ora.
Yen null diterusake menyang cara kasebut , bakal ngasilake palsu . Yen non- null liwati , cara mung bakal nelpon java.lang.String.indexOf(String str) ing obyek liwati.
Tuladha:
String value = "CodeGym is cool";
System.out.println(StringUtils.contains(null, "a"));
System.out.println(StringUtils.contains(value, "CodeGym"));
System.out.println(StringUtils.contains(value, "C++"));
System.out.println(StringUtils.contains(value, "codegym"));
Cara kasebut sensitif huruf cilik, mula telpon pungkasan uga bakal bali palsu :
false
true
false
false
Metode containsAny () bali bener yen string liwati minangka argumen pisanan ngemot paling ora siji saka substrings liwati ing argumen 2-N.
Tuladha:
String value = "CodeGym is cool";
System.out.println(StringUtils.containsAny(value, "cool", "c00l", "bro", "hello"));
Bakal nampilake:
true
Cara iki uga sensitif huruf cilik.
containsNone() metode
Nalika sampeyan kudu mriksa sing senar tartamtu ora ngemot apa-apa saka dhaftar, sampeyan bisa nggunakake containsNone () cara . Parameter pisanan yaiku senar, lan paramèter ing ngisor iki minangka senar sing ora kudu ana ing sink target.
Tuladha:
String s = "CodeGym is cool";
System.out.println(StringUtils.containsNone(s, 'g', 'a'));
Output konsol:
false
Nggarap substrings
Nggarap substrings padha karo nggarap metode kelas String :
substring(String str, int start)
substring (String str, int start, int end)
Cara iki ngasilake substring saka string str . Senar kasebut diwenehi rong indeks: wiwitan lan pungkasan . Lan kaya biasane ing basa Jawa, karakter pungkasan ing sawetara yaiku end-1 . Apa keuntungan saka metode kasebut?
Yen sampeyan pass null kanggo kuwi cara , iku mung bakal bali null tinimbang mbuwang pangecualian. Cara kasebut ndhukung nilai indeks negatif. Ing kasus iki, senar dianggep minangka loop tertutup. Karakter pungkasan diterusake dening sing pisanan, lan sateruse.
Ayo ndeleng carane kita bisa nggunakake:
System.out.println(StringUtils.substring("lets java", 2, 6));
System.out.println(StringUtils.substring("lets java", -8));
System.out.println(StringUtils.substring(null, 3));
Mbukak kode ing ndhuwur menehi kita:
ts j
ets java
null
StringUtils.split()
Cara sing ngijini sampeyan kanggo pamisah string menyang substrings nggunakake karakter delimiter khusus. Yen ana siji ing senar target, banjur cara bakal ngasilake array saka substrings. Yen ora ana karakter, array kosong bakal bali. Inggih, yen null diterusake menyang metode , bakal bali null . Ayo goleki kode iki lan cara kerjane:
String myData = "Address, City, State, Zip, Phone, Email, Password";
System.out.println(Arrays.toString(StringUtils.split(myData, ',')));
System.out.println(Arrays.toString(StringUtils.split(null, '.')));
System.out.println(Arrays.toString(StringUtils.split("", '.')));
asil:
[Address, City, State, Zip, Phone, Email, Password]
null
[]
StringUtils.join()
Cara gabung () ngidini sampeyan nggabungake array senar dadi senar siji. Ing wektu sing padha, karakter separator khusus bisa dilewati, sing bakal ditambahake ing antarane substrings ing senar sing diasilake. Lan yen null diterusake menyang cara , banjur bakal bali null .
Cara iki minangka kebalikan saka metode pamisah () . Ayo ndeleng conto prasaja iki:
String myData = "Address, City, State, Zip, Phone, Email, Password";
String[] myString = StringUtils.split(myData, ',');
System.out.println(StringUtils.join(myString, '-'));
Mbukak kode ing ndhuwur menehi kita:
Address- City- State- Zip- Phone- Email- Password
StringUtils.replace()
Nggoleki senar ing senar, nemokake yen ana, lan ngganti kabeh kedadeyan kasebut nganggo senar anyar.
Pranyatan cara iki katon kaya iki:
public static String replace(final String text, final String searchString, final String replacement)
Yen string telusuran ora ditemokake ing teks, mula ora ana sing kedadeyan lan teks bakal tetep padha. Dipuntedahaken logika padha, yen teks null , cara iki ngasilake null . Yen sampeyan nggoleki string null utawa ngganti substring karo null , cara kasebut bakal ngasilake string asli.
Ayo coba cara iki:
String value = "CodeGym is the best";
System.out.println(StringUtils.replace(value, "best", "cool"));
asil:
CodeGym is the cool
GO TO FULL VERSION