-3

「サラル」としましょう。この文字列を逆にしたい。文字列クラス自体を介してどのように行うことができますか?

文字列バッファーまたは文字列ビルダーではなく、文字列クラスのみを使用します。

4

2 に答える 2

3

次のような再帰関数を使用できます。

public static String reverse(String in) {
   int pos = in.length() - 1;
   return pos == -1 ? "" : in.substring(pos) + reverse(in.substring(0, pos));
}
于 2012-04-06T16:43:44.763 に答える
1

Java 文字列は不変であり、メソッドを提供しないため、単純で効率的な方法はありませんreverse()。ただし、ターゲット文字列を逆の順序で反復し、文字を新しい文字列の先頭に追加することで、逆の文字列を作成できます。

public static String reverse(String source) {
  String target = "";
  for (int i=0; i<source.length(); i++) {
    target = source.charAt(i) + target;
  }
  return target;
}

これはかなり非効率的であることに注意してください。これは、文字列の連結 (+演算子による) によって内部で StringBuffer が実際に作成され、一時オブジェクトの束が割り当てられるためです。

于 2012-04-06T16:43:54.930 に答える