方法的引用(静态方法中无this和super)

  1.  

  2. 引用静态方法:

     代码:

    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.function.Function;

    public class 静态方法 {
    public static void main(String[] args) {
    //需求;把集合中的字符串转化为int
    ArrayList<String> list=new ArrayList<>();
    Collections.addAll(list,"1","2");
    list.stream().map(new Function<String, Integer>() {
    @Override
    public Integer apply(String s) {
    int i = Integer.parseInt(s);
    return i;

    }
    }).forEach(s-> System.out.println(s));
    //方法的引用:字符串转数字
    list.stream().map(Integer::parseInt).forEach(s-> System.out.println(s));
    }
    }定义:

     

  3. 引用成员方法;

     

     代码;

    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.function.Predicate;

    public class 成员方法 {
    public static void main(String[] args) {
    ArrayList<String> list=new ArrayList<>();
    Collections.addAll(list,"张三","李四","aaaa");
    list.stream().filter(new Predicate<String>() {
    @Override
    public boolean test(String s) {
    boolean flag = s.startsWith("张") && s.length() == 2;

    return false;
    }
    }).forEach(s -> System.out.println(s));
    //方法引用,静态方法中无this
    list.stream().filter(new 成员方法()::flag).forEach(s -> System.out.println(s));
    }
    public boolean flag(String s){
    return s.startsWith("张") && s.length() == 2;
    }
    }注意:当引用成员和父类时,引用处不能是静态方法
  4.   引用构造方法:

     

  5. 引用构造方法代码:

     

     student类

     

  6. 类名引用成员方法;

     

     

     

     

     

  7. 引用数组的构造方法:

     

     

     

  8. 方法引用小结1:

     

     

posted @ 2023-04-17 20:42  为zq  阅读(18)  评论(0)    收藏  举报