Java基础:lambda表达式

lambda表达式是用来简化匿名内部类的书写的

 

注意:接口只能有一个抽象方法, 因为如果有多个抽象方法系统就不能分辨我们的lambda表达式重写的是那个方法了. 

Lambda表达式还可以继续省略 

String[] arr = {"a", "bsdf", "qae", "asqweq"};
        int[] arrint = new int[arr.length];
        for (int i = 0; i < arr.length; i++) {
            arrint[i] = arr[i].length();
        }
        int[] arrint2 = Arrays.copyOf(arrint, arr.length);
        Arrays.sort(arrint2);
        for (int i = 0; i < arrint2.length; i++) {
            for (int j = i; j < arrint.length; j++) {
                if (arrint2[i] == arrint[j]){
                    String temp = arr[i];
                    arr[i] = arr[j];
                    arr[j] = temp;
                    break;
                }
            }
        }
        System.out.println(Arrays.toString(arr));
        // Lambda完整表达式
        Arrays.sort(arr, new Comparator<String>() {
            @Override
            public int compare(String o1, String o2) {
                return o1.length() - o2.length();
            }
        });
        // Lambda简易表达式
        Arrays.sort(arr, (o1, o2) -> o1.length() - o2.length());

猜你喜欢

转载自blog.csdn.net/Orange_sparkle/article/details/129310646