Java 中的_全局_列表
_Global_ list in Java
我正在为 class 开发一个 java 程序,但我有一些 限制 正在折磨我。我必须读取一个文件并将其单词保存在一个列表中,然后保留该列表以便我可以从中提取单词。
我必须读取文件和 select n 个单词以及 return 那些单词,而不是整个列表。我的问题是:是否有某种方法可以将完整列表创建为全局或外部列表,以便每个方法都可以访问它,而无需成为参数?我需要修改完整列表,删除我需要的词,然后在其他方法中再次使用它。
谢谢:)
您可以通过将其设为 public 静态 来获得全局可访问变量。不过,就设计原则而言,这通常不是一个好主意,因为它往往会导致猖獗的依赖关系,以后很难替换。
您可以在 class public
和 static
中创建一个成员变量,这样您就可以从任何地方访问它:
public class One {
public static List<String> names = new ArrayList<>();
}
public class Two {
public void addName(String name) {
One.names.add(name);
}
}
public class Three {
public void printTheNames() {
System.out.println(One.names);
}
}
然而...
这些限制(比如无法创建真正的全局变量)是有充分理由的,而不是因为 Java 缺少功能。如果您在这些限制方面遇到困难,那么这表明您正在尝试以错误的方式做事 - 这意味着您的程序设计存在问题。
几乎总是,global variables are bad。
我正在为 class 开发一个 java 程序,但我有一些 限制 正在折磨我。我必须读取一个文件并将其单词保存在一个列表中,然后保留该列表以便我可以从中提取单词。
我必须读取文件和 select n 个单词以及 return 那些单词,而不是整个列表。我的问题是:是否有某种方法可以将完整列表创建为全局或外部列表,以便每个方法都可以访问它,而无需成为参数?我需要修改完整列表,删除我需要的词,然后在其他方法中再次使用它。
谢谢:)
您可以通过将其设为 public 静态 来获得全局可访问变量。不过,就设计原则而言,这通常不是一个好主意,因为它往往会导致猖獗的依赖关系,以后很难替换。
您可以在 class public
和 static
中创建一个成员变量,这样您就可以从任何地方访问它:
public class One {
public static List<String> names = new ArrayList<>();
}
public class Two {
public void addName(String name) {
One.names.add(name);
}
}
public class Three {
public void printTheNames() {
System.out.println(One.names);
}
}
然而...
这些限制(比如无法创建真正的全局变量)是有充分理由的,而不是因为 Java 缺少功能。如果您在这些限制方面遇到困难,那么这表明您正在尝试以错误的方式做事 - 这意味着您的程序设计存在问题。
几乎总是,global variables are bad。