2011-12-25 5 views
0

arraylistの文字列の内容を逆にしようとしていますが、これが標準のクラス[.reverse()。toString()を使って可能かどうかは疑問でした。例えば、私は彼らに次のエントリを持つArrayListを持っている:arrylistの文字列を逆にする

mySuperArray=[the cost of apple is USD2, the cost of oranges are USD1.50] 

をし、どのようなIdが欲しいのは上記の配列にこれらの文字列を反転させるものです:のように:私が使用しています何

hArray=[2DSU si elppa fo tsoc eht, etc..] 

mySuperArrayがhArrayと同じように定義され、
ArrayList<String> hArray= new ArrayList<String>(); 
    hArray = new StringBuffer(mySuperArray).reverse().toString(); 

:瞬間のようなものです。

しかし、私はこの段階ではコンパイルエラーを取得:

cannot find symbol 
    symbol : constructor StringBuffer(java.util.ArrayList<java.lang.String>) 
    location: class java.lang.StringBuffer 
    hArray = new StringBuffer(mySuperArray).reverse().toString(); 

は、なぜ私がこのコンパイルエラーが出るのですか?何が間違っていますか? ご質問が初心者の質問であれば申し訳ありません。

答えて

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()); 
} 
+0

Ooh ..これは基本的にDave Newtonが言ったことです。 :) – Neo

+0

このネオをありがとう。それは基本的にそれを説明します。しかし、私がこれを行うと、 "file.javaがチェックされていない、または安全でない操作を使用しているという奇妙なコンパイルエラーが発生する注:詳細については、-Xlint:uncheckedで再コンパイルしてください。私はこれまでにこのエラーを見たことがなく、基本的なGoogle検索では多くのことを明らかにしていないようです。なぜ私はこのコンパイルエラーを取得しているすべてのアイデア? – AJW

+0

OK私はそれを得た。配列が文字列型であることを基本的に定義する必要があります。つまり、ありがとうNeoとDave Newton! – AJW

2

ArrayListを取得するStringBufferコンストラクタはありません。何を意味するのでしょうか?

新しいリストを作成し、元のものを繰り返し、各文字列の逆を新しいリストに追加します。または、各リスト項目をその逆に置き換えます。 (「機能していません」)

+0

助けてくれてありがとうデイブを! – AJW

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); 
} 
関連する問題