Java Strings Class: String Creatie & Manipulatie Onder de Knie
Strings, wijd gebruikt in Java, zijn een reeks karakters. In Java worden strings als objecten behandeld.
Het Java platform biedt de String class voor creatie en manipulatie.
Strings Maken
Meest directe manier:
String greeting = "Hello world!";
Bij een string literal in code, maakt compiler een String object met die waarde.
Als elk ander object kun je String objects maken met new keyword en constructor. String class heeft 11 constructors voor initiële waarde via verschillende bronnen, zoals char array.
Voorbeeld
public class StringDemo {
public static void main(String args[]) {
char[] helloArray = { 'h', 'e', 'l', 'l', 'o', '.' };
String helloString = new String(helloArray);
System.out.println(helloString);
}
}
Output
hello.
Let op – String class is immutable: eenmaal gemaakt kan een String object niet gewijzigd worden. Bij veel wijzigingen: gebruik StringBuffer & StringBuilder.
String Lengte
Methodes voor objectinformatie = accessor methods. length() retourneert aantal karakters.
Voorbeeld
public class StringDemo {
public static void main(String args[]) {
String palindrome = "Dot saw I was Tod";
int len = palindrome.length();
System.out.println("String Length is : " + len);
}
}
Output
String Length is : 17
Strings Concateneren
concat() methode voegt twee strings samen:
string1.concat(string2);
Retourneert nieuwe string: string1 met string2 aan het einde. Ook met literals: "My name is ".concat("Zara").
Meest gebruikt: + operator: "Hello," + " world" + "!" → "Hello, world!".
Voorbeeld
public class StringDemo {
public static void main(String args[]) {
String string1 = "saw I was ";
System.out.println("Dot " + string1 + "Tod");
}
}
Output
Dot saw I was Tod
Format Strings Maken
printf() en format() voor geformatteerde output. String class heeft statische format() die String object retourneert (geen PrintStream).
In plaats van:
System.out.printf("The value of the float variable is " + "%f, while the value of the integer " + "variable is %d, and the string " + "is %s", floatVar, intVar, stringVar);
Kun je schrijven:
String fs;
fs = String.format("The value of the float variable is " + "%f, while the value of the integer " + "variable is %d, and the string " + "is %s", floatVar, intVar, stringVar);
System.out.println(fs);
String Methods
Lijst van methodes ondersteund door String class:
| Nr. | Methode & Beschrijving |
|---|---|
| 1 | charAt(int index) – Karakter op index. |
| 2 | compareTo(Object o) – Vergelijkt String met Object. |
| 3 | compareTo(String anotherString) – Lexicografisch vergelijken. |
| 4 | compareToIgnoreCase(String str) – Lexicografisch, case negeren. |
| 5 | concat(String str) – String aan einde concateneren. |
| 6 | contentEquals(StringBuffer sb) – True als zelfde char sequentie als StringBuffer. |
| 7 | copyValueOf(char[] data) – String van char array. |
| 8 | copyValueOf(char[] data, int offset, int count) – String van deel array. |
| 9 | endsWith(String suffix) – Test of string eindigt met suffix. |
| 10 | equals(Object anObject) – Vergelijkt string met object. |
| 11 | equalsIgnoreCase(String anotherString) – Vergelijkt, case negeren. |
| 12 | getBytes() – Encodeert naar bytes (default charset). |
| 13 | getBytes(String charsetName) – Encodeert naar bytes (named charset). |
| 14 | getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) – Kopieert chars naar array. |
| 15 | hashCode() – Hash code voor string. |
| 16 | indexOf(int ch) – Index eerste voorkomen char. |
| 17 | indexOf(int ch, int fromIndex) – Index eerste char vanaf fromIndex. |
| 18 | indexOf(String str) – Index eerste substring. |
| 19 | indexOf(String str, int fromIndex) – Index eerste substring vanaf fromIndex. |
| 20 | intern() – Canonical representatie. |
| 21 | lastIndexOf(int ch) – Index laatste voorkomen char. |
| 22 | lastIndexOf(int ch, int fromIndex) – Index laatste char, achteruit vanaf fromIndex. |
| 23 | lastIndexOf(String str) – Index rechtermste substring. |
| 24 | lastIndexOf(String str, int fromIndex) – Index laatste substring, achteruit vanaf fromIndex. |
| 25 | length() – Lengte van string. |
| 26 | matches(String regex) – Test regex match. |
| 27 | regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) – Twee string regio's gelijk? |
| 28 | regionMatches(int toffset, String other, int ooffset, int len) – Regio's gelijk (case sensitive). |
| 29 | replace(char oldChar, char newChar) – Vervangt alle oldChar met newChar. |
| 30 | replaceAll(String regex, String replacement) – Vervangt substrings matchende regex. |
| 31 | replaceFirst(String regex, String replacement) – Vervangt eerste matchende substring. |
| 32 | split(String regex) – Splitst string op regex matches. |
| 33 | split(String regex, int limit) – Splitst met limiet. |
| 34 | startsWith(String prefix) – Test of string begint met prefix. |
| 35 | startsWith(String prefix, int toffset) – Test prefix vanaf index. |
| 36 | subSequence(int beginIndex, int endIndex) – Nieuwe char sequentie (subsequence). |
| 37 | substring(int beginIndex) – Substring vanaf beginIndex. |
| 38 | substring(int beginIndex, int endIndex) – Substring tussen indices. |
| 39 | toCharArray() – Converteert naar char array. |
| 40 | toLowerCase() – Naar lowercase (default locale). |
| 41 | toLowerCase(Locale locale) – Naar lowercase (gegeven locale). |
| 42 | toString() – Retourneert zichzelf (al string). |
| 43 | toUpperCase() – Naar uppercase (default locale). |
| 44 | toUpperCase(Locale locale) – Naar uppercase (gegeven locale). |
| 45 | trim() – Kopie zonder leading/trailing whitespace. |
| 46 | valueOf(primitive data type x) – String representatie van primitief. |
Java
- Java Strings beheersen: aanmaken, methodes en best practices
- Java's final-sleutelwoord begrijpen: variabelen, methoden en klassen
- Java instanceof operator: een uitgebreide gids
- Java geneste static classes begrijpen: gebruik, verschillen en voorbeelden
- Java anonieme inner classes meesteren: definitie, syntax en praktische voorbeelden
- Java Singleton patroon uitgelegd: hoe veilig te implementeren en gebruiken
- String representaties in Java Enums meesteren
- Java Reflectie meesteren: klassen, methoden en velden inspecteren tijdens runtime
- Java ObjectOutputStream: Serialisatie, methoden en praktische voorbeelden
- Java Generics: Herbruikbare, type-veilige code bouwen
- Java-bestandsbewerkingen onder de knie krijgen met java.io – Aanmaken, lezen, schrijven en verwijderen