akışta () desteklenmeyen lambda ifadesi. allMatch () / .anyMatch () yöntemi [duplicate]

Dec 15 2020

JAVA 1.8'in stream (). Filter () / allMatch () / anyMatch () içindeki lambda ifadesini neden desteklemediğini anlamıyorum

Örneğin :

Eclipse IDE'den HATA pasajı

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); 
} 
} 

Tutulma sırasında "Belirteçte sözdizimi hatası" - ", - bekleniyor" ve "n" nin altında kırmızı çizgiler olarak hatalar alıyorum. Lütfen bu sorunu anlamama ve çözmeme yardım edin.

# NOT: Eclipse 3.8, JAVA 8 (1.8.0_271) kullanıyorum

Yanıtlar

ErezBenHarush Dec 15 2020 at 01:59

Kodunuz derleniyor ve çalışıyor gibi görünüyor https://www.tutorialspoint.com/compile_java_online.phpJava 1.8.0_141 çalıştıran. Tutulmada hedef çalışma süresinin java 8 olarak ayarlanıp ayarlanmadığını kontrol edin.

Örnek olarak Eclipse'de Target JRE'yi kullanabilirsiniz .