2011-12-25 3 views
0

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를이 그 순간은 다음과 같습니다.

여기서 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(); 

왜이 컴파일 에러가 발생합니까? 무엇이 잘못 될 수 있습니까? 질문이 오히려 초보자 용 질문 인 경우 죄송합니다.

답변

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

우 .. 기본적으로 Dave Newton이 말한대로하고 있습니다. :) – Neo

+0

네오 네 고마워. 그것은 기본적으로 그것을 설명합니다. 그러나이 작업을 수행 할 때 "file.java가 검사되지 않거나 안전하지 않은 작업을 사용합니다."라는 이상한 컴파일 오류가 발생합니다. 참고 : -Xlint를 사용하여 다시 컴파일 : 자세한 내용을 확인하지 않았습니다. " 전에이 오류를 본 적이 없으며 기본 Google 검색이 많이 공개되지 않는 것 같습니다. 왜 내가이 컴파일 오류가 점점 어떤 아이디어? – AJW

+0

좋아, 알았다. 배열이 문자열 유형이라는 것을 기본적으로 정의해야합니다. 예 : 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); 
} 
관련 문제