Im folgenden Beispiel kompiliert dieses Programm-Snippet nicht, aber wenn wir die Methode Character.toString(char)
durch String.valueOf(char)
ersetzen, ist alles in Ordnung. Was ist das Problem, warum Character.toString hier? In der Dokumentation scheinen diese Methoden das gleiche Verhalten zu haben. Danke für die Erklärung.Unterschiedliches Verhalten zwischen String.value0f und Character.toString in Java
public static void main (String args[]) {
String source = "19/03/2016 16:34";
String result = Character.toString(source.substring(1,3));
System.out.print(result);
}
Ich verstehe nicht. 'Character.toString (...)' nimmt ein 'char'. Du gibst eine 'Zeichenfolge'. Was hast du erwartet? – Tunaki
Das Ergebnis von 'source_string (1,3)' ist der 2-stellige String '" 9/"'. Was haben Sie von 'Character.toString()' damit erwartet? Der Aufruf von 'String.valueOf()' an einem String führt zu nichts; es ist schon ein String. Vielleicht solltest du das Javadoc von [substring (int beginIndex, int endIndex)] lesen (https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#substring%28int, % 20int% 29) – Andreas
@oukios 'sourcestring (1,3)' gibt einen String zurück. Sie können ihn nicht der String-Methode zuweisen. –