Kelas String ing Jawa dirancang kanggo nggarap string ing Jawa. Kabeh literal string sing ditetepake ing program Java (contone, "abc") minangka conto saka kelas String. Ayo katon ing ciri utama sawijining:
- Kelas ngleksanakake
Serializable
lan antarmukaCharSequence
. Amarga wis kalebu ing paketjava.lang
, ora perlu diimpor. - Kelas String ing Jawa minangka kelas pungkasan lan ora bisa duwe anak.
- Kelas String minangka kelas sing ora bisa diganti, tegese obyek kasebut ora bisa diganti sawise digawe. Sembarang operasi ing obyek String sing bakal nyebabake obyek kelas String bakal ngasilake obyek anyar.
- Amarga immutability, obyek kelas String aman lan bisa digunakake ing lingkungan multi-Utas.
- Saben obyek ing Jawa bisa diowahi dadi string liwat metode
toString
sing kabeh kelas Jawa warisan saka kelasObject
.
Nggarap Java String
Iki minangka salah sawijining kelas sing paling umum digunakake ing Jawa. Nduwe cara kanggo nganalisa karakter tartamtu ing senar, kanggo mbandhingake lan nggoleki senar, ngekstrak substring, nggawe salinan senar kanthi kabeh karakter diowahi dadi huruf cilik lan gedhe, lan liya-liyane. Dhaptar kabeh metode kelas String bisa ditemokake ing dokumentasi resmi . Jawa uga ngleksanakake mekanisme prasaja kanggo concatenation (senar nyambungake), ngowahi primitif dadi senar lan kosok balene. Ayo goleki sawetara conto nggarap kelas String ing Jawa.Nggawe Strings
Cara paling gampang kanggo nggawe conto kelas String yaiku menehi nilai string literal:String s = "I love movies";
Nanging, kelas String duwe akeh konstruktor sing ngidini sampeyan:
- nggawe obyek sing ngemot string kosong
- nggawe salinan variabel string
- nggawe senar adhedhasar array karakter
- nggawe string adhedhasar array byte (njupuk enkoding akun)
- lsp.
Tambahan string
Nambahake rong senar ing Jawa cukup prasaja nggunakake+
. Jawa ngidini sampeyan nambahake variabel lan string literals kanggo saben liyane:
public static void main(String[] args) {
String day = "Day";
String and = "And";
String night = "Night";
String dayAndNight = day + " " + and + " " + night;
}
Kanthi nambahake obyek saka kelas String karo obyek saka kelas liyane, kita nyuda pungkasan kanggo wangun string. Konversi obyek saka kelas liyane menyang perwakilan senar dileksanakake liwat telpon cara implisit toString
ing obyek. Ayo tuduhake iki nganggo conto ing ngisor iki:
public class StringExamples {
public static void main(String[] args) {
Human max = new Human("Max");
String out = "java object: " + max;
System.out.println(out);
// Output: Java object: Person named Max
}
static class Human {
private String name;
public Human(String name) {
this.name = name;
}
@Override
public String toString() {
return "The Man with the Name" + name;
}
}
}
Perbandingan string
Kanggo mbandhingake strings, sampeyan bisa nggunakake caraequals()
:
public static void main(String[] args) {
String x = "Test String";
System.out.println("Test String".equals(x)); // true
}
Yen kasus ora penting kanggo kita nalika mbandhingake senar, kita kudu nggunakake metode equalsIgnoreCase()
:
public static void main(String[] args) {
String x = "Test String";
System.out.println("test string".equalsIgnoreCase(x)); // true
}
Ngonversi obyek / primitif menyang senar
Kanggo ngowahi conto saka sembarang kelas Jawa utawa jinis data primitif kanggo perwakilan string, sampeyan bisa nggunakake caraString.valueOf()
:
public class StringExamples {
public static void main(String[] args) {
String a = String.valueOf(1);
String b = String.valueOf(12.0D);
String c = String.valueOf(123.4F);
String d = String.valueOf(123456L);
String s = String.valueOf(true);
String human = String.valueOf(new Human("Alex"));
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
System.out.println(s);
System.out.println(human);
/*
Output:
1
12.0
123.4
123456
true
Person named Alex
*/
}
static class Human {
private String name;
public Human(String name) {
this.name = name;
}
@Override
public String toString() {
return "The Man with the Name" + name;
}
}
}
Ngonversi string menyang nomer
Asring sampeyan kudu ngowahi senar menyang nomer. Kelas pambungkus jinis primitif duwe metode sing cocog karo tujuan kasebut. Kabeh cara kasebut diwiwiti kanthi tembung parse. Coba terjemahake string menyang angka integer (Integer
) lan pecahan ( Double
) ing ngisor iki:
public static void main(String[] args) {
Integer i = Integer.parseInt("12");
Double d = Double.parseDouble("12.65D");
System.out.println(i); // 12
System.out.println(d); // 12.65
}
Ngonversi koleksi string menyang perwakilan string
Yen sampeyan kudu ngowahi kabeh unsur saka sawetara koleksi string menyang perwakilan string liwat delimiter sembarang, sampeyan bisa nggunakake cara ing ngisor iki saka kelas String Jawa:join(CharSequence delimiter, CharSequence... elements)
join(CharSequence delimiter, Iterable<? extends CharSequence> elements)
delimiter
is pemisah unsur, lan elements
iku array senar / string koleksi Kayata. Ayo goleki conto ing ngendi kita ngowahi dhaptar string dadi senar, misahake saben nganggo titik koma:
public static void main(String[] args) {
List<String> people = Arrays.asList(
"Philip J. Fry",
"Turanga Leela",
"Bender Bending Rodriguez",
"Hubert Farnsworth",
"Hermes Conrad",
"John D. Zoidberg",
"Amy Wong"
);
String peopleString = String.join("; ", people);
System.out.println(peopleString);
/*
Output:
Philip J. Fry; Turanga Leela; Bender Bending Rodriguez; Hubert Farnsworth; Hermes Conrad; John D. Zoidberg; Amy Wong
*/
}
Pisah senar dadi array senar
Operasi iki ditindakake kanthi metodesplit(String regex)
Separator yaiku ekspresi reguler string regex
. Ing conto ing ngisor iki, kita bakal nindakake operasi sing ngelawan karo sing ditindakake ing conto sadurunge:
public static void main(String[] args) {
String people = "Philip J. Fry; Turanga Leela; Bender Bending Rodriguez; Hubert Farnsworth; Hermes Conrad; John D. Zoidberg; Amy Wong";
String[] peopleArray = people.split("; ");
for (String human : peopleArray) {
System.out.println(human);
}
/*
Output:
Philip J. Fry
Turanga Leela
Bender Bending Rodriguez
Hubert Farnsworth
Hermes Conrad
John D. Zoidberg
Amy Wong
*/
}
Nemtokake posisi unsur ing baris
Ing basa Jawa, String nyedhiyakake sakumpulan cara kanggo nemtokake posisi karakter/substring ing senar:indexOf(int ch)
indexOf(int ch, int fromIndex)
indexOf(String str)
indexOf(String str, int fromIndex)
lastIndexOf(int ch)
lastIndexOf(int ch, int fromIndex)
lastIndexOf(String str)
lastIndexOf(String str, int fromIndex)
ch
- simbol sing sampeyan goleki (char
)str
- telusuran stringfromIndex
- posisi saka ngendi kanggo nelusuri unsur- cara
indexOf
- bali posisi unsur pisanan ketemu - cara
lastIndexOf
- bali posisi unsur pungkasan ketemu
A
, K
, Z
, Я
ing alfabet Inggris, nanging elinga yen indeksasi karakter ing string ing Jawa diwiwiti saka nol:
public static void main(String[] args) {
String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
System.out.println(alphabet.indexOf('A')); // 0
System.out.println(alphabet.indexOf('K')); // 10
System.out.println(alphabet.indexOf('Z')); // 25
System.out.println(alphabet.indexOf('Я')); // -1
}
Ekstrak substring saka senar
Kanggo ngekstrak substring saka senar, kelas String ing Jawa nyedhiyakake metode:substring(int beginIndex)
substring(int beginIndex, int endIndex)
public static void main(String[] args) {
String filePath = "D:\\Movies\\Futurama.mp4";
int lastFileSeparatorIndex = filePath.lastIndexOf('\\');
String fileName = filePath.substring(lastFileSeparatorIndex + 1);
System.out.println(fileName); //9
}
Ngonversi string menyang huruf gedhe / cilik:
Kelas String nyedhiyakake cara kanggo ngowahi string dadi huruf gedhe lan cilik:toLowerCase()
toUpperCase()
public static void main(String[] args) {
String fry = "Philip J. Fry";
String lowerCaseFry = fry.toLowerCase();
String upperCaseFry = fry.toUpperCase();
System.out.println(lowerCaseFry); // philip j. fry
System.out.println(upperCaseFry); // PHILIP J. FRY
}
Nggarap kelas Java iki sinau ing tingkat wiwitan kursus online JavaRush:
- Pengantar String diwenehake ing level 1, kuliah 4 saka quest Java Syntax
- Struktur internal String, metode substring disinau ing tataran 2, kuliah III quest Java Multithreading.
- Nemokake, njupuk, mbusak substring ing String dipelajari ing tingkat 2, kuliah kaping 4 saka pencarian Java Multithreading.
- Metode String.format katutup ing tataran 2, kuliah 6 saka quest Java Multithreading
Sumber tambahan
Informasi babagan kelas String uga kasedhiya ing artikel liyane ing komunitas JavaRush:- String ing Jawa - Artikel iki nyakup sawetara dhasar babagan nggarap string ing Jawa.
- String Jawa. Pitakonan lan jawaban wawancara, bagean 1 - artikel iki mbahas pitakonan wawancara babagan topik kasebut
String
, lan uga menehi jawaban kanggo pitakonan kanthi panjelasan lan conto kode. - Strings in Java (class java.lang.String) - artikel iki menehi analisis luwih jero saka kelas String, lan uga ngrembug seluk-beluk nggarap kelas iki.
GO TO FULL VERSION