如果问题有点含糊,我很抱歉,所以我会尽力解释一下。
我得到了这个代码:
public String toString()
{
String s = "text.\n";
for (Klus k : alleKlussen)
{
s += k.toString() + ".\n";
}
return s;
}
但我想针对不同的条件制作不同的循环。 例如,“Klus”有几个变量,例如:状态、日期等。
我对 java 还不是很有经验,但是有没有可能做这样的事情:
for (Klus k : alleKlussen; status = "completed")
{..}
我知道这是错误的,但我希望它显示所有状态为“已完成”的“Klus”对象和所有状态为“未完成”的“Klus”对象。
谢谢,如果有什么不清楚或我用错了词,请告诉我。
编辑:
它应该是这样的:
if (k.getStatus().equals("completed"){
String s = "completed ones \n"
s += k.toString() + ".\n"; //get all completed ones
}
if (k.getStatus().equals("uncompleted"){
String s = "uncompleted ones \n"
s += k.toString() + ".\n"; //get all uncompleted ones
}
最佳答案
只需在 for()
循环中添加条件:
for (Klus k : alleKlussen) {
if (k.getStatus().equals("completed")) {
s += k.toString() + ".\n";
}
}
从问题中的附加信息来看,似乎是以下内容:
String completed = "completed ones \n";
String uncompleted = "uncompleted ones \n";
for (Klus k : alleKlussen) {
if (k.getStatus().equals("completed")) {
completed += k.toString() + ".\n"; //get all completed ones
}
else if (k.getStatus().equals("uncompleted")) {
uncompleted += k.toString() + ".\n"; //get all uncompleted ones
}
}
您还应该考虑使用 StringBuilder创建结果字符串,从而减少内存开销。
关于java - java中arraylist的for循环中的"if"或"where"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15832202/