java - 关于java中的列表

标签 java eclipse list

我现在正在学习Java中的列表。我无法将两个列表相互比较。我想做的是,如果两个列表具有相同的名称,则返回 true,但它会一直返回 false。在我的类示例中,DVD1DVD3 应该具有相同的名称。 DVD 是一张CD 和一本IBook。因此,DVD1CD1,其名称为 S23DVD3CD2,其名称为S23。它应该返回 true。我想我必须以某种方式合并 equalname (我用来比较 CD 类中的两张 CD 的方法)。我该怎么办?

import tester.Tester;

interface IBook{

    //return name 

    public boolean samename(IBook that);   
}
 class CD{
    String name;
    String color;
    CD(String name, String color){
      this.name=name;
      this.color=name;

    }  
       public String returnname(){
        return this.name;
    }

    public boolean equalname (CD that){
        return this.name == that.name;

    }
}

class mtlob implements IBook{

    public String returnname(){
        return "";
    }
    public boolean samename(IBook that){
        return false;
    }
}

class DVD implements IBook{
   CD first;
   IBook rest;

   DVD(CD first, IBook rest){
        this.first=first;
       this.rest=rest;

   }

   public boolean samename(IBook that){
       return this.first.equals(that); //this.rest.samename(that);

   }


}



class ExamplesX{

    CD CD1 = new CD ("S23", "blue");
    CD CD2 = new CD ("S23", "red");
    CD CD3 = new CD ("cs2, ", "black");
    CD CD4 = new CD ("HFF", "black");
    mtlob empty = new mtlob ();
    IBook DVD1 = new DVD (this.CD1, empty);
    IBook DVD2 = new DVD (this.CD3, this.DVD1);
    IBook DVD3 = new DVD (this.CD2, this.DVD1);

     boolean test(Tester t){
        return
        t.checkExpect(this.CD1.equalname(CD2), true)&&
        t.checkExpect(this.DVD1.samename(DVD3), true);


        } }

最佳答案

使用 equals 方法而不是使用 ==

string1.equals(string2)

关于java - 关于java中的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21585253/

相关文章:

java - 关于 "+"运算符及其 StringBuilder 实现

java - 如果无法使用 SecureRandom,是否可以回退到 Random?

java - 火星 eclipse 。 Java Spring - 用于构建环境的 Maven 配置文件切换

c# - 调用 ToList() 时是否会影响性能?

java - 按元素将列表拆分为 block

Java 1.4 : Cast primitive type to Object (Coupling vs Performance? )

java - XtextDocumentProvider 的依赖注入(inject)配置

android - Eclipse 在 android 相关的自动完成上卡住

c# - 根据条件从列表中取出 N 项

C : dev C++, 停止工作错误,在链表中创建节点的代码