java 数组反转的一个小坑

因为学习了java8的内容,所有想用java8中的stream操作实现对数组的反转

在尝试过程中,发现Comparator下面有reverseOrder()方法,按照字面意思理解以为是将数组进行反转
然而实际尝试过程中发现,该方法实际实现并没有对数组进行反转,而是将其中的按照从大到小排列

代码如下:

		String []str={"a","c","d","b"};
        System.out.println("字符串1"+Arrays.toString(Arrays.stream(str).sorted(Comparator.reverseOrder()).toArray()));
        int []intnum={1,0,4,3};
        String []str2={"as","cv","ds","bsadf"};
        System.out.println("字符串2"+Arrays.toString(Arrays.stream(str2).sorted(Comparator.reverseOrder()).toArray()));

运行结果如下:
结果

可以看出,这里面默认的排序是按照第一个字符的ASKII编码进行排序的,然后从大到小

你可能感兴趣的:(各种小坑)