在 ArrayList.size() 中使用条件语句

Dam*_*ele 1 java if-statement arraylist

我尝试使用 if-else 语句作为将元素添加到数组列表的条件。但是,它不断在条件之上添加一个元素。

private ArrayList<Musician> songMusicians;
this.songMusicians = new ArrayList<>();
Musician musician = new Musician(name);
if (songMusicians.size() < 6) { //same output for (songMusicians.size() <= 5)
    songMusicians.add(musician);
} else {
    System.out.println("You can't have more than 5 musicians per song");
}
Run Code Online (Sandbox Code Playgroud)

因此,它没有向数组列表 songMusicians 添加 5 个元素,而是添加了 6 个元素。

Har*_*ekh 5

假设列表中有 5 个元素,当你说 时< 6,它返回true,然后你再添加一个,这使得列表中有 6 个元素。

只需将其更改为songMusicians.size() < 5.