方法的引用(静态方法中无this和super)
- 
![]() 
- 引用静态方法:
![]() 代码: 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));
 }
 }定义:![]() 
- 引用成员方法;
![]() ![]() 代码; 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;
 }
 }注意:当引用成员和父类时,引用处不能是静态方法
-   引用构造方法:
![]() 
- 
引用构造方法代码: ![]() ![]() student类: ![]() 
- 类名引用成员方法;
![]() ![]() ![]() 
- 引用数组的构造方法:
![]() ![]() ![]() 
- 方法引用小结1:
![]() ![]() 
 
                    
                

















 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号