gpt4 book ai didi

java - 匿名类如何传递本地参数?

转载 作者:行者123 更新时间:2023-12-02 13:31:01 25 4
gpt4 key购买 nike

我在 Vaadin 中创建了一个 StreamResource。如何将参数 fileName 传递到匿名类中?我必须在内部类中设置fileName

这是源代码:

String fileName;

public void anotherMethod(){
StreamResource myResource = createResource();
fileDownloader = new FileDownloader(myResource);
}

private StreamResource createResource() {
return new StreamResource(new StreamResource.StreamSource() {
@Override
public InputStream getStream() {
....
//some magic with the filename here
}
}, fileName);
}

我通过 fileName 得到一个 NullPointerException

最佳答案

在您的代码中,变量fileName未初始化,或者您没有提供这段代码。尝试像这样初始化它:

String fileName = "某个文件名"; 例如:

String fileName = "virus.bat";

public void anotherMethod(){
StreamResource myResource = createResource();
fileDownloader = new FileDownloader(myResource);
}
private StreamResource createResource() {
final String URL = "someURL";

return new StreamResource(new StreamResource.StreamSource() {
@Override
public InputStream getStream() {
// USE THE URL.
}
}, fileName);
}

您不会将参数传递给匿名类,而是传递给 StreamResource 构造函数,该构造函数有两个参数:StreamSourceString .

我 100% 确定您没有为 fileName 分配任何内容,并且匿名类与它无关! :)

下次提供更多代码,至少包含所提供变量的所有用例,这样会更容易提供帮助。

关于java - 匿名类如何传递本地参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43177750/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com