静态方法的新对象(JAVA)

时间:2014-10-07 09:50:53

标签: java methods junit static

我正在编写一个关于Java的程序。我有一个带有静态方法的Adres类Read(Scanner sc):Adres。 此方法应创建Adres的新实例。它似乎创建了te实例,并且程序按预期运行。问题是我还必须编写JUnit测试。但似乎使用此方法创建的对象不等于在类外部创建的对象。我虽然它与该方法是静态的事实有关,但我找不到任何东西。这是方法:

   public static Adres read(Scanner sc){
        String str = sc.next();
        String num = sc.next();
        String pc = sc.next();
        String pl = sc.next();
        sc.close();

        return new Adres(str, num, pc, pl);
    }

这是我的等于函数:

public boolean equals(Object obj){
        if (obj instanceof Adres){
            Adres that = (Adres)obj;
            return (this.straat == that.straat &&
                    this.huisnummer == that.huisnummer &&
                    this.postcode == that.postcode &&
                    this.plaats == that.plaats);
        } else
        return false;
    }

这是我的单元测试:

public void testRead() {
        Adres adres = new Adres("EduP", "238", "2624NB", "Delft");
        String line = "EduP 238 2624NB Delft";
        Adres adres2 = Adres.read(new Scanner(line));
        assertTrue(adres.equals(adres2));
    }

我还尝试使用main创建一个简单的测试,只是调用equals函数,但仍然返回false!在函数与创建的对象一起工作的地方" normal"办法。你能解释一下我做错了什么,或者我还不明白的事情吗?

谢谢,

大卫

0 个答案:

没有答案