In dem folgenden Programm versuche ich, eine Zeichenfolge zu ersetzen und zu versuchen, es der gleichen Variablen zuzuweisen. Aber in Java sind die Strings immutable
. Nach der Erstellung können wir sie nicht mehr ändern. Aber hier kann ich modifizieren. Nicht sicher, ob mein Verständnis stimmt. Kann mir jemand helfen?Java Unveränderliche Zeichenfolgen
public static void main(String[] args) {
String s = "1234504";
s = s.replaceAll("0", "");
int count = 0;
for(int i = 0; i< s.length() ; i++){
if(Character.isDigit(s.charAt(0))){
count++;
}
}
System.out.println("Number of digits in string");
System.out.println(count);
}
Sie ändern die Zeichenfolge nicht, Sie ersetzen sie durch eine neue Zeichenfolge. – Kayaman
Nicht verwandt mit Frage, aber: Da Sie Literale ersetzen, müssen Sie 'replaceAll' nicht aufrufen, die Regex unterstützen. Es ist besser, stattdessen 'replace' zu wählen, da es sicherer ist, keine Probleme zu haben, wenn Ihr Literal Regex-Metazeichen wie + *^$ und andere enthält. Beide Methoden ersetzen alle Vorkommen des gesuchten Teils in der Zeichenfolge. Der einzige Unterschied zwischen diesen Methoden ist die Regex-Unterstützung. – Pshemo