2014-11-24 223 views
-1

我试图使用split方法将String转换为String Array。当我尝试使用reverse方法单独反转阵列元素时,reverse方法甚至不会显示在Eclipse代码建议中。明确使用reverse,喷出错误说明The method reverse() is undefined for the type String。 请帮忙!将字符串转换为字符串后无法反转字符串Array

public class Split { 

    public static void main(String args[]){ 

     String temp; 

     String names="Apple Banana Cabbage Daffodil"; 

     String[] words = names.split(" "); 

     for (int i = 0; i < words.length; i++) { 

      temp = words[i].reverse(); 

     } 

    } 
+1

你想'水仙白菜香蕉Apple'作为输出或反转每个字? – Junaid 2014-11-24 19:29:47

+0

@ Junaid,他在反向之前先分裂。 – Lokesh 2014-11-24 19:31:34

+1

'方法reverse()对于String类型是未定义的 - 这是一条信息错误消息。 – 2014-11-24 19:31:58

回答

3

编译器信息是明确的:reverse不是String的方法。

尝试:

String reverse = new StringBuilder(words[i]).reverse().toString(); 
+0

是的。有效。 :) – CodeWalker 2014-11-24 19:35:57

1

没有为String类型都没法相反,但你可以做自己喜欢的:

public static void main(String args[]){ 

      String temp; 

      String names="Apple Banana Cabbage Daffodil"; 

      String[] words = names.split(" "); 
      String[] reverseWords = new String[words.length]; 
      int counter = words.length - 1; 
      for (int i = 0; i < words.length; i++) { 
       reverseWords[counter] = new String(words[i]); 
       counter--; 
      } 
      words = reverseWords; 
      for(String i : words) 
      { 
       System.out.print(" " + i); 
      } 

     } 
1

没有为String类型定义没有reverse方法。您可以在List可逆转的要素使用Collections#reverse

String[] words = names.split(" "); 

List<String> wordList = Arrays.asList(words); 
Collections.reverse(wordList); 
+0

是的。另一个出路。 +1 – CodeWalker 2014-11-24 19:38:58

1

这是因为字符串没有办法反向,你可以使用StringBuilder的代替

像:

public static void main(String[] args) { 

    String temp; 

    String names = "Apple Banana Cabbage Daffodil"; 

    String[] words = names.split(" "); 

    for (int i = 0; i < words.length; i++) { 

     temp = new StringBuilder(words[i]).reverse().toString(); 
    } 
}