【问题标题】:Problems using contains() method for arraylist对 arraylist 使用 contains() 方法的问题
【发布时间】:2014-04-16 07:29:02
【问题描述】:

我正在尝试检查 arraylist B 是否包含来自 arrayA 的字符串,但它不起作用:

String match = arrayA[i];
if (! B.contains(match)) {
    outputFile.print(match);
}

这是因为我错误地使用了contains() 方法吗?
我们可以将变量的名称放在contains() 方法中,如contains(match) 这里吗?
还是我们必须在contains() 中添加一个字符串,例如contains("name")

【问题讨论】:

  • if 语句中的条件被否定(由“!”表示),这意味着您只有在它们不匹配时才将内容打印到文件中。你确定那是你想要的吗?
  • 你说它“不起作用”。你可以再详细一点吗?会发生什么?
  • 请注意,“name”和值为“name”的字符串在此处的工作方式相同。如果我没记错的话,他们甚至会指向内存中相同的字符串文字。不同之处在于第二个有一个与之关联的变量。
  • 欲了解更多信息,请查看this

标签: java arraylist contains


【解决方案1】:

  if (! B.contains(match))

你检查,如果 B 不包含匹配。 除此之外,该方法是有效的。

【讨论】:

  • 感谢克里斯蒂安!是的,我正在尝试打印不在 arraylist B 中的元素。
  • 那么你的包含是正确的。你的程序崩溃了吗?
  • 不,它没有崩溃,但它没有正确打印出字符串匹配。也许是因为其他方法,但不是这个 contains()。我会再检查一次。谢谢,确认真的很有帮助!
  • 我从索引i 猜测您是在遍历arrayA 的循环中执行此操作的。您确定 arrayA 已初始化并包含您认为它包含的内容吗?尝试添加一个 else 子句来打印不在 B 中的元素。如果没有打印任何内容,那么您将知道 arrayA 不包含您期望的内容。
猜你喜欢
  • 1970-01-01
  • 2014-08-20
  • 2021-02-01
  • 2012-01-09
  • 2016-05-14
  • 2019-02-18
  • 2013-07-05
  • 2013-07-06
相关资源
最近更新 更多