stream (). allMatch () / .anyMatch () 메서드에서 지원하지 않는 람다 표현식 [duplicate]

Dec 15 2020

JAVA 1.8이 stream (). filter () / allMatch () / anyMatch ()에서 람다 표현식을 지원하지 않는 이유를 알 수 없습니다.

예 :

Eclipse IDE의 오류 스 니펫

import java.util.*; 
  
class GFG { 
      
    // Driver code 
    public static void main(String[] args) { 
          
    // Creating a list of Integers 
    List<Integer> list = Arrays.asList(3, 4, 6, 12, 20); 
      
    // Check if all elements of stream 
    // are divisible by 3 or not using  
    // Stream allMatch(Predicate predicate) 
    boolean answer = list.stream().allMatch(n-> n % 3 ==0); 
      
    // Displaying the result 
    System.out.println(answer); 
} 
} 

이클립스에서 "토큰"- "의 구문 오류,-예상 됨"및 'n'아래의 빨간색 선으로 오류가 발생합니다. 이 문제를 이해하고 해결하도록 도와주세요.

# 참고 : 이클립스 3.8, JAVA 8 (1.8.0_271)을 사용하고 있습니다.

답변

ErezBenHarush Dec 15 2020 at 01:59

코드가 컴파일되고 실행되는 것 같습니다. https://www.tutorialspoint.com/compile_java_online.phpJava 1.8.0_141을 실행합니다. Eclipse의 대상 런타임이 Java 8로 설정되어 있는지 확인하십시오.

Eclipse에서 Target JRE를 예로 사용할 수 있습니다 .