#author("2017-07-07T22:59:56+09:00","","") #author("2017-07-07T23:00:58+09:00","","") #navi(../) *文字列のリバース(反転) [#q621fb02] Stringクラスのメソッドを見ても文字列のリバース(反転)がありません。~ 文字列のリバース(反転)をしたい場合は、StringBufferを使用します。 以下に文字列のリバース(反転)のサンプルソースおよび実行例を記します。 #contents * 文字列のリバース(反転)・StringBuffer [#v2627a1c] StringBufferのreverseメソッドを使用することにより、~ 文字列をリバースすることができます。~ 以下のように使用します。 StringBuffer sb = new StringBuffer("Hello"); System.out.println(sb.reverse()); * StringBufferのreverseを使用したサンプルソース [#q5c7dd21] 以下にStringBufferのreverseメソッドを使用したサンプルソースを記します。 &ref(StrReverse.java); UTF8, LF &ref(StrReverse.java); (UTF8, LF) class StrReverse { public static void main(String[] args) { String catchphrase = "Write once, Run anywhere"; StringBuffer sb = new StringBuffer(catchphrase); System.out.println("-- orignal --"); System.out.println(sb); System.out.println("-- reverse --"); System.out.println(sb.reverse()); catchphrase = "一度書けばどこでも使える"; sb = new StringBuffer(catchphrase); System.out.println("-- orignal --"); System.out.println(sb); System.out.println("-- reverse --"); System.out.println(sb.reverse()); } } * サンプルソース実行結果 [#l6bbe49c] 英字文字列と日本語文字列で試してみます。 $ javac StrReverse.java $ java StrReverse -- orignal -- Write once, Run anywhere -- reverse -- erehwyna nuR ,ecno etirW -- orignal -- 一度書けばどこでも使える -- reverse -- るえ使もでこどばけ書度一 文字列が反転しているのが確認できます。 使用したJDKバージョンは以下の通りです。 $ java -version; javac -version java version "1.7.0_51" OpenJDK Runtime Environment (IcedTea 2.4.4) (suse-24.13.5-x86_64) OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode) javac 1.7.0_51 以上、文字列リバース・反転のサンプルソースでした。