变量样本不能解析为变量

  • 本文关键字:变量 不能 样本 java
  • 更新时间 :
  • 英文 :

import java.util.Arrays;
import java.util.*;
import java.util.stream.Collectors;
// double the first even number greater than 3
public class FirstDouble {
    public static void main(String[] args) {
        List<Integer> numbers = Arrays.asList(1,2,3,5,6,7,8,9);
    /*  int result = 0;
        for(int e : numbers)
        {
            if(e>3 && e%2==0)
            {
                result = e*2;
                break;
            }
        }
        System.out.println(result);
        */
        System.out.println(
                numbers.stream()
                .filter(Sample::isGT3)
                .filter(Sample::isEven)
                .map(Sample::doubleIt)
                .findFirst());
        }
    public boolean isGt3(int number) {
        return number > 3;
    }
    public boolean isEven(int number) {
        return number % 2 == 0;
    }
    public int doubleIt(int number) {
        return number * 2;
    }
}

需要做三处修改才能使代码编译:

  • Sample重命名为FirstDouble,以便正确引用
  • isGt3方法重命名为isGT3
  • 由于方法是静态引用的,所以在isGT3isEvendoubleIt
  • 中添加static修饰符。

之后,它输出Optional[12]。如果只打印数字,则在findFirst后添加get

最新更新