gpt4 book ai didi

java - 从外部存储存储字符串 : final class vs. 文件

转载 作者:行者123 更新时间:2023-12-01 13:29:23 24 4
gpt4 key购买 nike

我正在构建一个 Java 程序。我有一个人名列表,用于检查一个单词是否是一个名字。我不知道是否应该将这些名称存储在外部文件中或将它们作为公共(public)静态字段放在最终类中?现在我的列表只有 1000 个名称,但如果多达 100,000 个项目怎么办?感谢您的帮助!

编辑 - 我真的不想使用数据库之类的东西,因为它在其他机器上执行时需要其他安装。一个简单的txt文件听起来不错,但为了检查单词名称,我仍然必须将所有列表项(比如说10,000个名称)加载到我的程序中并搜索名称,这让我有点困惑:是否比上述方式更好在最终类中预定义常量数组。您能帮我找出一种有效的方法来实现这一点吗?

最佳答案

在代码中使用字符串并没有任何编程好处,因此将数据外部化到数据库中。

但是,即使是平面文件也是“数据库”或排序,因此我会将加载名称的任务放在接口(interface)后面,并让实现来决定如何加载数据:

一些实现选项是:

  • 返回硬编码值
  • 从文件中读取值
  • 从 SQL 数据库读取
  • 从 NoSQL 数据库读取
  • 从网络服务读取

选择现在最适合您的实现 - 如果您以后需要,可以轻松更改。

示例界面:

public interface NameLoader {
public List<String> getNames();
}

让您的主程序使用其中之一并使用工厂方法提供实现:

public class NameLoader() {
public NameLoader createNameLoader() {
// code the implementation you're currently using here
return new FileBasedNameLoader();
}
}

您可以进一步将类外部化以通过 Spring 或属性文件等使用。

关于java - 从外部存储存储字符串 : final class vs. 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21655369/

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