次の例では、このプログラムスニペットはコンパイルされませんが、Character.toString(char)
をString.valueOf(char)
に置き換えた場合はすべて正常です。 Character.toStringはなぜここにあるのですか?ドキュメントでは、これらのメソッドは同じ動作をしているようです。説明をありがとう。String.value0fとJavaのCharacter.toStringの動作が異なります
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);
}
を。 'Character.toString(...)'は 'char'をとります。あなたは 'String'を与えています。あなたは何を期待しましたか? – Tunaki
'source.substring(1,3)'の結果は、2文字の文字列 '' 9/"'です。あなたは 'Character.toString()'にこれと何を期待しましたか? String上で 'String.valueOf()'を呼び出すと何も起こりません。それはすでにストリングです。おそらく、あなたは['substring(int beginIndex、int endIndex)'](https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#substring%28int、 %@%%@ 29) – Andreas
@oukios 'source.substring(1,3)'は文字列を返します。文字列メソッドの必要はありません。 –