如何使用ArrayList编写If语句

时间:2016-02-13 17:14:24

标签: java arraylist

我正在为学校工作,我们必须创建一个ArrayList,它接受两个参数并存储它们。然后我必须写一个“if”语句,如果没有电影然后打印一行,但如果有电影然后循环它并打印每个电影信息。好吧,我很难写if语句。

import java.util.ArrayList;

public class MovieLibrary
{
private ArrayList<Movie> movies;
public String movieTitle;
public int movieRunLength;

public MovieLibrary()
{
    movies = new ArrayList<Movie>();
}

public void addMovie(String title, int runLength)
{
    movies.add(new Movie(title, runLength));
}

public void printMovies()
{
    System.out.println("#################");
    if (movies == null){
         System.out.println("No movies in the library");
        }
    else{
        for (Movie movie : movies){
            movie.printMovieInfo();
        }
    }               
    System.out.println("#################");        
}
}

代码编译并运行并且循环工作(如果有信息)但如果列表中没有任何内容则不会打印消息。

3 个答案:

答案 0 :(得分:1)

更改

if (movies == null){

if (movies == null || movies.size() == 0){

如果电影列表为空,这并不一定意味着它是null,您还需要检查其size

答案 1 :(得分:0)

您可以尝试以下两个选项之一:

  1. 手动编写验证,如

    if(null == movies || movies.size == 0)

  2. 使用Apache collection utils(https://commons.apache.org/proper/commons-collections/apidocs/org/apache/commons/collections4/CollectionUtils.html

    如果(CollectionUtils.isEmpty(电影))

  3. 我建议第二种选择。

    我希望,它有所帮助。

答案 2 :(得分:0)

Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [1044] Access denied for user ''@'localhost' to database 'jkr'' in C:\xampp\www\jkr\core\connect.php:6

应改为

Access denied for user ''@'localhost'