gpt4 book ai didi

java - 从另一个类调用字符串时出现问题 - 变量可能尚未初始化

转载 作者:行者123 更新时间:2023-11-30 04:30:52 25 4
gpt4 key购买 nike

我在一个类中有一个字符串,我想在另一个类中使用它,但我无法编译它

我下面的代码应该从另一个java类中提取NewDestination,但是我收到错误变量NewDestination可能尚未初始化,当我尝试运行时,如何初始化它?

@Named("Filter")

public class Filter{

//public String NewDestination;

private static final String FILE_TEXT_EXT = ".pdf";

public static final String NewDestination;

public static void main(String args[]) {
new Filter().listFile(NewDestination, FILE_TEXT_EXT);
}

public void listFile(String folder, String ext) {

GenericExtFilter filter = new GenericExtFilter(ext);

File dir = new File(folder);

if(dir.isDirectory()==false){
System.out.println("Directory does not exists : " + NewDestination);
return;
}

// list out all the file name and filter by the extension
String[] list = dir.list(filter);

if (list.length == 0) {
System.out.println("no files end with : " + ext);
return;
}

for (String file : list) {
String temp = new StringBuffer(NewDestination).append(File.separator)
.append(file).toString();
System.out.println("file : " + temp);
}
}

// inner class, generic extension filter
public class GenericExtFilter implements FilenameFilter {

private String ext;

public GenericExtFilter(String ext) {
this.ext = ext;
}

public boolean accept(File dir, String name) {
return (name.endsWith(ext));
}
}
}

最佳答案

public static final String NewDestination;

static Final 变量表示应用程序范围的常量,必须在类加载期间设置它。

直接初始化即可

public static final String NewDestination = "some";

或者,不要将其设为常量。

public static String NewDestination;

这完全取决于具体的功能需求,而问题根本不清楚。整个代码看起来很奇怪,因此也很难根据目前提供的代码做出有根据的猜测。

还需要注意的是,这一切与 JSF 无关。这只是基本的Java。您甚至无法编译该类,因此这完全超出了 JSF 的范围。 Take some time to learn basic Java 。常量包含在 this chapter 中。 。 JSF 的学习曲线相当陡峭。如果您已经不了解基本的 Java SE,更不用说 Servlet API,那么 JSF 学习之旅将花费至少两倍的时间,而且不会很有趣。

关于java - 从另一个类调用字符串时出现问题 - 变量可能尚未初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14686203/

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