从对象 (JAVA) 获取信息

Get information from object (JAVA)

所以我必须创建这个对象,DocumentAnalyzer,然后在其他函数中,例如 getUniqueWords,我必须能够获取保存在其中的文件的内容,并对内容进行排序。为了获得独特的单词,我打算使用 Set,因为它不能有重复项。

对象:

public DocumentAnalyzer(String filename) throws FileNotFoundException 
{

    List<String> records = new ArrayList<String>();
      try
      {
        BufferedReader reader = new BufferedReader(new FileReader(filename));
        String line;
        while ((line = reader.readLine()) != null)
        {
          records.add(line);
        }
        reader.close();
      }
      catch (Exception e)
      {
        System.err.format("Exception occurred trying to read '%s'.", filename);
        e.printStackTrace();
        return;
      }

      System.out.print(records);
}


public Set<String> getAllWords(?????) 
{

    Set<String> set = new HashSet<>(values);

    for (String value : set)
        System.out.printf("%s", value);

    return set;
}

如何才能在调用函数时使用 DocumentAnalyzer 中的信息?我知道它与参数有关,所以我必须投射一些东西吗?我只是忽略它实际上很简单吗? 几个小时以来我一直在思考这个问题

您发布的代码可能在 class 声明中,例如:

public class DocumentAnalyzer {
    // your code here
}

您当前的问题是 List<String> records 是构造函数的局部变量。

你需要的是将你的信息存储为这个class的字段(a.k.a.属性),而不是将你的变量声明保存在构造函数:

public class DocumentAnalyzer {

    private List<String> records;

    // your code here
}

然后,在构造函数中使用该字段而不是局部变量,方法是替换:

List<String> records = new ArrayList<String>();

作者:

records = new ArrayList<String>();

现在您的 getAllWords() 方法不需要任何参数,因为您只需要使用 records,它可以从那里访问。