The use of anonymous inner classes in java 8

package com.atguigu.java8;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.TreeSet;

import org.junit.Test;

public  class TestLambda1 {
     // Original anonymous inner class 
    @Test
     public  void test1(){
        Comparator<String> com = new Comparator<String>(){
            @Override
            public int compare(String o1, String o2) {
                return Integer.compare(o1.length(), o2.length());
            }
        };
        
        TreeSet<String> ts = new TreeSet<>(com);
        
        TreeSet<String> ts2 = new TreeSet<>(new Comparator<String>(){
            @Override
            public int compare(String o1, String o2) {
                return Integer.compare(o1.length(), o2.length());
            }
            
        });
    }
    
    // Current Lambda expression 
    @Test
     public  void test2(){
        Comparator<String> com = (x, y) -> Integer.compare(x.length(), y.length());
        TreeSet<String> ts = new TreeSet<>(com);
    }
}

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325454027&siteId=291194637