lambda表达式用对象改写为什么是错的?

下面这段代码:

public class App {
    public static void main(String[] args) throws IOException
    {
        class Test<T extends Comparable> implements Predicate<T> {
            public boolean test(T t){
                return t.equals("grayVTouch");
            }
        }
        ArrayList<String> a = new ArrayList<>();
        a.add("grayVTouch");
        a.add("yueshu");
        a.add("shuyue");
        Stream<String> s = a.stream();
        Test<String> t = new Test<>();
        a = a.filter(t);
    }
}

报错:

clipboard.png

这是为什么??

阅读 1.5k
1 个回答

filterstream的方法,不是ArrayList的方法,所以应该是s.filter嘛,题主的s初始化出来,不是灰色的么...那不就代表没有使用过么(捂脸)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题