您好我正在尝试将值添加到列表中,如下面的代码所示。我收到了错误。
如果我使用如下
for (String n2 : number ) {
List<String> ARRAY = new ArrayList<String>();
if (!ARRAY.contains(n2)) {
Email(n2);
ARRAY.add(n2);
}
}
如果我在上面使用。虽然已经发送了值为n2的电子邮件,但它再次发送。首先它必须发送,但第二次n2应该在数组中但仍然发送。任何一个帮助。如果第二次将n2传递给电子邮件则不应通过。
我正在重新发布问题,因为我认为这似乎并不清楚。
答案 0 :(得分:0)
您需要将ARRAY
移到for循环之外
List<String> ARRAY = new ArrayList<String>(); // maybe as a class field
for (String n2 : number ) {
if (!ARRAY.contains(n2)) {
Email(n2);
ARRAY.add(n2);
}
}
答案 1 :(得分:0)
List<String> ARRAY = new ArrayList<String>();
此行必须在您的循环之外。
<强>为什么吗
简单。这是scope的问题。范围是变量的生命周期和可访问性。在这种情况下,您将其声明在loop
内,因此,您猜对了该变量的范围是循环。循环退出时,变量将被销毁。
您需要将其移到外面,以便变量在循环的生命周期内持续存在。
额外阅读