我有一个类需要使用我存储在类构造函数中的.txt
文件中的一些信息。但是,我真的不想让构造函数读入并在每次创建类的新实例时解析文件,因为这是浪费的时间/内存。
我怎样才能读取数据并以某种方式存储它以使构造函数可用?在创建类的新实例并将数据传递给构造函数之前,我可以读取该文件,但这似乎是一个不优雅的解决方案。
具体来说:我有一个Email
类(基本上是List<String>
的包装器)。但是,我想从电子邮件的文本中删除所有出现的一组停用词(在单独的.txt
文件中列出)。每次创建Email
的新实例时,如何避免必须读取这组停用词?
答案 0 :(得分:0)
加载停用词列表并将其存储在数据结构中(例如ArrayList),并将其作为参数传递给Email
类的构造函数。您可以编写一个函数来读取文件,并调用它一次以将其加载到数据结构中,并在每次创建该类的实例时将其传递给Email
类构造函数。
您还可以创建一个类来读取文件,并在创建新实例时将该类的对象传递给Email
类。
更新
在看到您的评论后,我猜您需要的是在您的班级中拥有Static
成员变量/方法。
解释:非静态变量是类实例的成员;每个实例都有自己的副本。静态变量是类本身的成员;它们与任何特定实例无关。类似地,非静态方法对类的实例进行操作,静态方法不依赖于特定实例。
因此,我相信您可以通过在static
课程中添加Email
方法成员来实现您的目标。
答案 1 :(得分:0)
创建一个类来读取文件。创建该类的单个实例,并将引用传递给将使用该信息的类的构造函数。