gpt4 book ai didi

java - ArrayList 自动添加空项

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:23:40 26 4
gpt4 key购买 nike


大家好。我正在制作一个词汇应用程序,我需要在其中创建一个 List<String> (或数组列表)。为此,我创建了以下代码(仅作为示例):

List<String> tempSOLUTION = new ArrayList<String>();
String temp = "abc123";
tempSOLUTION.add(temp);

我还尝试了以下方法:

tempSOLUTION.add(new String(temp));

他们都把项目添加到列表中,但是在调试时,我发现它的数组有12个对象,分别是:

[abc123, null, null, null, null, null, null, null, null, null, null, null]

我的问题是我不能拥有那些空项,因为这个新列表是 HashableMap<String> 上的键,因此任何更改都会导致异常,因为 key 不存在。

使用调试器的列表 (tempSOLUTION) 详细信息的屏幕截图:http://www.pabloarteaga.es/stackoverflow.jpg

如何在不创建所有这些空项目的情况下将项目添加到列表中?

经过搜索,我找到了关于如何删除这些空项的答案,即:

tempSOLUTION.removeAll(Collections.singleton(null));

但它对我的目的不起作用。

提前致谢。

最佳答案

您可能正在使用调试器查看其内部数组。那没关系;这只是一个实现细节。

重要的是通过其公共(public) API 可以看到什么。换句话说,对 size()(等等)的调用会告诉您。 (如果在您的代码示例中没有返回 1,则说明发生了一些奇怪的事情!)

关于java - ArrayList 自动添加空项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18434835/

26 4 0