2016-02-27 20 views
1

這是使用StringBuffer反轉字符串中的字符一些代碼字符串的話:代碼扭轉使用StringBuffer的

String sh = "ABCDE"; 
System.out.println(sh + " -> " + new StringBuffer(sh).reverse()); 

是否有任何類似的方式來扭轉使用StringBuffer一個字符串的話呢?

輸入:「我需要它」和 輸出應該是:「這還需要我」

+1

只有StringBuffer的是可以接受的? – Idos

+0

其他解決方案也是受歡迎的。字符串緩衝區將會更有用。 – Aajan

+1

請不要使用StringBuffer,因爲它在十多年前被StringBuilder所取代。 –

回答

2

您可以使用StringUtilsreverseDelimited

反轉是由特定的字符分隔的字符串。 分隔符之間的字符串不會顛倒。因此java.lang.String變成了String.lang.java(如果分隔符是'。')。

所以你的情況,我們將使用空格作爲分隔符:

import org.apache.commons.lang.StringUtils; 
String reversed = StringUtils.reverseDelimited(sh, ' '); 

您也可能會發現沒有它here一個較爲漫長的解決方案。

+1

謝謝。第一個比第一個更好。 – Aajan

1

僅使用JDK方法

String input = "I Need It"; 

String[] array = input.split(" "); 
List<String> list = Arrays.asList(array); 
Collections.reverse(list); 
String output = String.join(" ", list); 

System.out.println(output); 

而且結果是It Need I