gpt4 book ai didi

java - 明智地使用 bufferedReader

转载 作者:行者123 更新时间:2023-12-01 15:25:30 32 4
gpt4 key购买 nike

我在java中遇到一些设计模式问题。我有以下方法

public HashMap<String, Integer> createFrequentVocabs(bufferedReader buffr1,bufferedReader buffr2,bufferedReader buffr3){
BufferedReader = new BufferedReader(new FileReader(new File(file)));
HashMap<String, Integer> hm1 = new HashMap<String, Integer>();
HashMap<String, Integer> hm2 = new HashMap<String, Integer>();
String strngArry = new String();
hm1 = getValue1(buffr1);
hm2 = getValue2(buffr2);
strngArray = getValue3(buffr3);
return hm;
}

所有缓冲区都来自同一个文本文件。这看起来有点丑,我怎样才能让它变得漂亮一点。我想在方法中传递一次缓冲区,或者有什么方法可以传递文件路径并在方法本身内部创建缓冲区。任何形式的建议将不胜感激。

最佳答案

我不完全确定这个方法应该做什么。您能详细说明一下吗?

但是,如果您只想减少此方法的方法参数数量并在内部创建 BufferedReaders,一种可能是传递 Path 对象数组。

顺便说一句,如果您不需要任何底层具体对象的功能,最好使用对象的接口(interface)而不是其具体实现。这允许您在需要时将实现交换为不同的实现,而无需更改代码用户的方法契约。

例如,不要写:

HashMap<String, Integer> hm1 = new HashMap<String, Integer>();

你会写:

Map<String, Integer> hm1 = new HashMap<String, Integer>();

或者,在 Java 7 中:

Map<String, Integer> hm1 = new HashMap<>();

有关此主题的更多信息,我强烈建议阅读 Effective Java作者:乔什·布洛赫。

关于java - 明智地使用 bufferedReader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10216996/

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