1. Struktur Stringkelas

Dina iki kita bakal ngomong babagan Stringkelas. Sawise ints, kelas String minangka kelas sing paling populer ing Jawa. Iki digunakake pancen nang endi wae. Nduwe akeh cara sing migunani sing sampeyan luwih ngerti.

Kelas Stringminangka siji-sijine kelas kajaba jinis primitif sing literal bisa digunakake ing switchstatement; compiler nangani tambahan senar lan obyek String kanthi cara khusus; Stringobyek sing storied ing memori ing cara khusus. Sejatine, Stringkelas kasebut minangka kelas khusus.

Uga, Stringkelas kasebut duwe sawetara kelas pembantu sing tujuane kanggo luwih gampang nggarap string ing basa Jawa. Nalika sampeyan sinau kabeh iki, akeh perkara sing bakal dadi luwih gampang kanggo sampeyan. Ya, kita bakal miwiti saka inti ekosistem iki - organisasi kelas String.

Array saka karakter

Struktur Stringkelas kasebut pancen prasaja banget: ing njero ana array karakter (char array) sing nyimpen kabeh karakter saka senar. Contone, iki carane tembung 'Hello' disimpen:

Struktur kelas String
Penting!

Bener, iki ora cukup akurat. Amarga Stringkelas iku penting banget, nggunakake akeh optimizations, lan data internal disimpen ora minangka Uploaded karakter, nanging mung minangka Uploaded byte.


2. Metode Stringkelas

Kelas Stringwis akèh cara: wis 18 konstruktor piyambak! Dadi ing ngisor iki kita mung sebutno sing paling dhasar:

Metode Katrangan
int length()
Ngasilake jumlah karakter ing senar
boolean isEmpty()
Priksa manawa senar kasebut minangka senar kosong
boolean isBlank()
Priksa manawa string mung ngemot karakter spasi putih: spasi, tab, baris anyar, lsp.
char charAt(int index)
Ngasilake karakter ing posisi indeks ing senar.
char[] toCharArray()
Ngasilake array saka karakter (salinan) sing nggawe senar
byte[] getBytes()
Ngonversi string menyang sakumpulan bait lan ngasilake array bait.
String[] split(String regex)
Pisah senar dadi pirang-pirang substring.
String join(CharSequence delimiter, elements)
Nggabungake sawetara substrings bebarengan
String intern()
Nempatake senar menyang string pool.

Sampeyan bisa sinau luwih lengkap babagan konstruktor ing artikel Java Constructors .

Ayo nulis program sing ngowahi path file saka gaya Unix menyang gaya Windows. Unix nggunakake /karakter kanggo misahake folder, nalika Windows nggunakake \karakter kasebut.

Solusi 1: nggunakake array char

Kode Cathetan
Scanner console = new Scanner(System.in);
String path = console.nextLine();

char[] chars = path.toCharArray();
for (int i = 0; i < chars.length; i++)
   if (chars[i] == '/')
      chars[i] = '\\';

String result = new String(chars);
System.out.println(result);
Nggawe obyek Scanner
Maca baris saka console

Ngonversi senar menyang array karakter
Loop liwat karakter
Yen karakter punika /,
ngganti karo \. Aja lali babagan uwal.

Nggawe string anyar adhedhasar array karakter.
Tampilake senar.

Solusi 2: - nggunakake split()lan join()cara

Kode Cathetan
Scanner console = new Scanner(System.in);
String path = console.nextLine();

String[] array = path.split("/");


String result = String.join("\\", array);


System.out.println(result);
Nggawe obyek Scanner
Maca baris saka console

Ngonversi string menyang Uploaded strings . Karakter kasebut /digunakake minangka pemisah (tambahan rong garis miring minangka asil saka uwal ganda).
Gabungke kabeh senar ing array senar . Iki \digunakake minangka separator (kita waca iku oncat).

Tampilake senar.

Solusi 3: - nggunakake replace(char oldChar, char newChar)cara

Kode Cathetan
Scanner console = new Scanner(System.in);
String path = console.nextLine();

String result = path.replace('/', '\\');

System.out.println(result);
Nggawe obyek Scanner
Maca baris saka console

Mung ngganti siji karakter karo liyane
(kapindho oncat)
Nampilake senar.