Klasa String
Klasa ta służy do obsługi ciągów znaków, czyli po prostu tekstów.
Konstruktory:
Omawiana klasa ma kilka konstruktorów, ale najprościej jest zainicjalizować nowy obiekt za pomocą argumentu przypisania.
String str = "Ala ma kota ;)";
Oto niektóre konstruktory klasy String:
String(char text[ ])
String(byte ascii[ ])
String(char text[ ], int poczatek, int ile)
String(byte ascii[ ], int poczatek, int ile)
char txt[ ] = {'J', 'a', 'v', 'a', ' ', 'p', 'r', 'o', 'g', 'r', 'a', 'm', 'm', 'i', 'n', 'g'};
byte txt_b[ ] = {65, 66, 67};
String str = new String(txt);
String str2 = new String(txt_b);
String str3 = new String(txt, 5, 7);
System.out.println(str);
System.out.println(str2);
System.out.println(str3);
Dwie pierwsze metody są proste, w pierwszej jako jedyny argument podaje się tablice znaków, a w drugiej liczby odpowiadające znakom zgodnie ze standardem ASCII.
Ostatnia metoda określa dodatkowo w drugim argumencie początek zapisu (liczony od zera), i w trzecim ilość znaków.
Tak że na ekranie zobaczymy:
Java programming
abc
program
Łączenie ciągów znaków:
Łączenie ciągów znaków ze sobą jest banalnie proste, służy do tego operator + .
String str = "Ala " + "ma " + "kota";
String str2 = str + ",i " + 2 + " psy.";
Jak widać z powyższego przykładu do ciągu znaków można przyłączać także liczby.
Metody klasy String:
- void getChars(int startString, stopString, char text[ ], int textStart)
Metoda przypisuje do tablicy text ciąg znaków, zaczynając od startString, a kończąc na stopString-1, przypisanie do tablicy zaczyna się od elementu wynoszącego textStart.
- char[] toCharArray()
Prostsza wersja wcześniej omawianej metody getChars, jej wywołanie zwraca tablice znaków Char.
- byte[] getBytes()
Metoda zwraca tablice liczb byte.
- boolean equals(String str)
Metoda porównuje dwa ciągi znaków, jeśli są one takie sama zwraca wartość true.
- boolean equalsIgnoreCase(String str)
Metoda służy do porównania dwóch ciągów znaków, bez uwzględnienia wielkości liter.
- int campareTo(String str)
Metoda sprawdza czy w kolejności alfabetycznej String jest równy, większy lub mniejszy od podanego str.
Jeśli wartość jest mniejsza od zera String jest mniejszy, jeśli jest większy od zera to String jest większy, a jeśli równy zero to oba ciągi są identyczne.
- int campareToIgnoreCase(String str)
Metoda działa tak samo jak poprzednia, z tym tylko że ignoruje wielkość liter.
- int indexOf(int) lub int indexOf(string)
Metoda poszukuje wystąpienia pierwszego znaku, lub ciągu znaków podanego w argumencie i zwracają indeks znalezionego znaku, lub początku ciągu znaków.
Jeśli w Stringu nie będzie podanego znaku, lub ciągu znaków metoda zwróci wartość -1.
- int lastIndexOf(int) lub int lastIndexOf(string)
To samo co powyżej, tylko poszukiwanie zaczyna się od końca.
- String substring(int startString) lub String substring(int startString, int stopString)
Metoda zwraca część ciągu znaku zaczynającego się od indeksu startString, możemy także określić indeks końcowy stopString.
- String replace(char orginal, char zamiennik)
Metoda zastępuje wszystkie wystąpienia jednego znaku na inny znak i zwraca zmieniony ciąg znaków.
- String trim()
Metoda usuwa początkowe i końcowe białe znaki i zwraca poprawiony ciąg znaków.
- String toLowerCase()
Zmienia wszystkie duże litery tekstu na małe.
- String toUpperCase()
Konwertuje wszystkie małe litery tekstu na duże.