java - java中arraylist的for循环中的"if"或"where"?

标签 java for-loop arraylist conditional-statements

如果问题有点含糊,我很抱歉,所以我会尽力解释一下。

我得到了这个代码:

    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/

相关文章:

Java - 转换字符串中的字符(数组、if-then、 HashMap )的最佳方法?

C++:我如何从这段代码制作这个形状?

java - 登录在我的项目中不起作用

java - TestNG 中的动态 @Test 生成

Java for 循环传递变量

java - 如何通过ArrayList或ArrayList获取表的值

Java 集合,无法用新值覆盖旧值

java - 创建唯一值的 ArrayList

java - 如何覆盖 Java 对对象的限制

java - 如何在 Java 中显示 N x N 随机数矩阵?