Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中,如何将变量传递给匿名内部类?_Java - Fatal编程技术网

在Java中,如何将变量传递给匿名内部类?

在Java中,如何将变量传递给匿名内部类?,java,Java,我有以下方法: public Promise<List<SearchResult>> search(String searchTerms, SearchType type) { Promise<List<SearchResult>> response = WS.url(type.url + searchTerms). get().map( new Function<WSResponse

我有以下方法:

 public Promise<List<SearchResult>> search(String searchTerms, SearchType type) {
    Promise<List<SearchResult>> response = WS.url(type.url + searchTerms).
            get().map(
            new Function<WSResponse, List<SearchResult>>() {
                public List<SearchResult> apply(WSResponse response) {
                    Document doc = Jsoup.parse(response.getBody());
                    Elements results = doc.select(type.selector);
                    return buildResultList(results);
                }
            }
    );
    return response;
}
它不会编译,因为匿名内部类无权访问传递给搜索方法的SearchType参数

我想知道如何在匿名类中访问此参数


我编写类的方法是为每个SearchType复制此搜索方法-即,我有三个不同的搜索方法,名称不同,但我希望有一些代码重用,因此,我试图用传入的SearchType参数重写该方法。

如果将类型参数标记为final,然后您可以在匿名内部类中使用它。

错误消息说什么?也许值得一试。。