我试图在一个arraylist中反转一些字符串的内容,我想知道这是否可能使用标准类[.reverse()。toString()]。例如,我有一个arraylist,其中包含以下条目:
mySuperArray=[the cost of apple is USD2, the cost of oranges are USD1.50]
以及我想要的是在上面的数组中反转这些字符串的东西:例如:
hArray=[2DSU si elppa fo tsoc eht, etc..]
我现在使用的是:
ArrayList<String> hArray= new ArrayList<String>();
hArray = new StringBuffer(mySuperArray).reverse().toString();
其中,mySuperArray的定义方式与hArray相同。
但是在这个阶段我遇到了编译错误:
cannot find symbol
symbol : constructor StringBuffer(java.util.ArrayList<java.lang.String>)
location: class java.lang.StringBuffer
hArray = new StringBuffer(mySuperArray).reverse().toString();
为什么我会收到此编译错误?可能有什么不对? 对不起,如果问题是一个相当新手的问题。
答案 0 :(得分:2)
没有StringBuffer构造函数接受ArrayList - 它意味着什么?
创建一个新列表,迭代原始列表,将每个字符串的反向添加到新列表中。或者,用反向替换每个列表项。 (不是“功能”。)
答案 1 :(得分:1)
错误是您无法使用构造函数StringBuffer(ArrayList)。您可以在线参考Java文档以查看可以使用的构造函数。 http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/StringBuffer.html(这是Java 1.5)。因此,您可以使用的最接近的构造函数是StringBuffer(String)。
ArrayList hArray= new ArrayList(); for(String s :mySuperArray){ hArray.add(new StringBuffer(s).reverse().toString()); }
答案 2 :(得分:0)
public static void main(String[] args) throws IOException, ParseException, InterruptedException {
ArrayList<String> obj = new ArrayList<String>();
obj.add("A");
obj.add("B");
obj.add("C");
obj.add("D");
obj.add("E");
System.out.println("Entered :: "+obj);
for(int i=obj.size()-1; i>=0; --i){
System.out.println("Values :: "+obj.get(i));
obj.add(obj.get(i));
obj.remove(i);
}
System.out.println("Reversed :: "+obj);
}