黑马程序员技术交流社区

标题: reverse的用法 [打印本页]

作者: 单凯    时间: 2013-8-17 09:46
标题: reverse的用法
求教大神反转这个函数怎么用,我写了个程序
public static void main(String[] args)
        {
                int[] a= {0,15,-14,45,20,70};  
                a.reverse();
               System.out.print(new StringBuffer(a).reverse().toString());
                String arr[]={"aaa","bbb","ccc"};
                List <String> l=Arrays.asList(arr);
                l.reverse();               
                System.out.print(new StringBuffer(l).reverse().toString());       

        }

错误很多,reserve方法不支持数组和List<String>,
还有StringBuffer的用法我也不是很清楚,不能接收int【】和List<String>类型;
我查了查,reverse在Integer和StringBuffer类中,但是还是不知道具体怎么用,
希望大神指点

作者: 薛淑凯    时间: 2013-8-17 10:32
首先,不是reverse不支持某种类型,而是这种类型不支持reverse方法。数组和lLst集合都没有reverse方法,无从调用。
然后,StringBuffer可以接收什么参数,看看api文档就知道了。最简单的就是把要存的参数转换成字符串再传递给StringBuffer
作者: 单凯    时间: 2013-8-17 10:37
薛淑凯 发表于 2013-8-17 10:32
首先,不是reverse不支持某种类型,而是这种类型不支持reverse方法。数组和lLst集合都没有reverse方法,无 ...

int【】类型只能一个一个的传,变成字符串之后,怎么在将字符串转换成int【】呢?

作者: HM代景康    时间: 2013-8-17 13:58
reverse方法

                            public StringBuffer reverse()

该方法的作用是将StringBuffer对象中的内容反转,然后形成新的字符串。例如:

         StringBuffer sb = new StringBuffer(“abc”);

         sb.reverse();

经过反转以后,对象sb中的内容将变为”cba”。
作者: 王松松    时间: 2013-8-17 16:41
我把你的代码改了下:
  1. import java.util.*;
  2. class aaa
  3. {
  4.         public static void main(String[] args)
  5.         {
  6.                 Integer[] a = {0,15,-14,45,20,70};
  7.                 List<Integer> ls = Arrays.asList(a);
  8.                 Collections.reverse(ls);
  9.                 StringBuilder sb = new StringBuilder();
  10.                 Iterator<Integer> it = ls.iterator();

  11.                 while (it.hasNext())
  12.                 {
  13.                         Integer itg = it.next();
  14.                         sb.append(itg+",");
  15.                 }
  16.                 System.out.println(sb);

  17.                 String arr[]={"aaa","bbb","ccc"};
  18.         List <String> ls1 = Arrays.asList(arr);
  19.                 Collections.reverse(ls1);
  20.                 StringBuilder sb1 = new StringBuilder();
  21.                 Iterator<String> it1 = ls1.iterator();

  22.                 while (it1.hasNext())
  23.                 {
  24.                         String itg = it1.next();
  25.                         sb1.append(itg+",");
  26.                 }
  27.                 System.out.println(sb1);
  28.                
  29.         }
  30. }
复制代码

作者: 刘劲松    时间: 2013-8-17 23:04
在类Collections里有静态reverse的实现。注意不要查成Collection接口里面去了。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2