有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java只使用不同ArrayList中的一个字段搜索具有多个字段的ArrayList

如果为moviesAvailable存在一个ArrayList,并且列表采用titleyeargenreprice。如何使用ArrayListgenres获取电影列表

在电影类中有一个toString方法可以打印电影。当我运行代码时,if语句之后的所有内容都不会运行,因为条件返回为false


共 (2) 个答案

  1. # 1 楼答案

    您需要重写类型类中的equals方法,以使if条件起作用,请参见下面的代码

    private String name;
    
    Genre(String name){
        this.name = name;
    }
    public boolean hasType(String genre) {
    
        return genre.equals(this.name);
    }
    
    public boolean equals(Object o) {
       if (!(o instanceof Genre)) {
          return false;
       }
       return this.name.equals(((Genre)o).name);
    }
    
  2. # 2 楼答案

    您需要重写Genre类中的equals(),以便可以相互比较该类的实例

    下面是一个快速实现,可轻松扩展以实现其他功能:

    @Override
    public boolean equals(Object o) {
        if (!(o instanceof Genre)) {
            return false;
        }
        return ((Genre) o).name.equals(this.name);
    }