使用 Java 流过滤功能对 return 年龄超过特定年龄限制的演员

To return actor older than a certain age limit using Java Stream filter function

我想 return 使用 Java 流过滤功能过滤超过特定年龄限制的演员,但我的代码 return 显示错误消息

Line 63: error: cannot find symbol [in Actor.java] .filter(actor -> actor.getAge > ageLimit) symbol: variable getAge location: variable actor of type Actor

我的代码如下:

import java.util.*;
import java.io.*;
import java.nio.*;
import java.math.*;
import java.time.chrono.IsoChronology;
import java.time.LocalDate;
import java.util.stream.Collectors;

class Actor {
    String name;
    LocalDate birthday;
    
    Actor(String nameArg, LocalDate birthdayArg) {
        name = nameArg;
        birthday = birthdayArg;
    }

    public int getAge() {
        return birthday
            .until(IsoChronology.INSTANCE.dateNow())
            .getYears();
    }

    public String getName() {
        return name;
    }


    public static List<Actor> createCast() {
        
        List<Actor> cast = new ArrayList();
        cast.add(
            new Actor(
            "Fred", 
            IsoChronology.INSTANCE.date(1980, 6, 20)));
        cast.add(
            new Actor(
            "0mar", 
            IsoChronology.INSTANCE.date(1990, 12, 10)));
        return cast;
    } 

    public void printActor() {
        System.out.println(name + ", " + this.getAge()); }
    }


class cast {
     interface CheckPerson {
         boolean test (Actor p);
     }

    public static void printActors (List<Actor> cast) {
        for (Actor p: cast) {
            p.printActor();
        }
    }

    public static List<Actor> getActorsolderThan(List<Actor> cast, int ageLimit) {

        List<Actor> result = cast.stream()  // convert list to stream 
            .filter(actor -> actor.getAge > ageLimit) //TODO
            .collect(Collectors. toList());

        return result;
    }
}

测试代码如下:

//Test Code: 
List<Actor> cast = Actor.createCast();
List<Actor> castolderThan = Cast.getActorsolderThan(cast, 30); 
Cast.printActors(cast);

请问如何通过编辑getActorsolderThan方法中过滤行的代码,对return年龄超过一定年龄的演员使用过滤功能?

我觉得这一行应该是这样的

 List<Actor> result = cast.stream()  // convert list to stream
                .filter(actor -> actor.getAge() > 100) //TODO
                .collect(Collectors. toList());

getAge 是一个函数而不是 class 变量