-6

我是 Java 新手,在实现 toString 时遇到问题。有人能帮我吗?toString 返回包名和调用类名而不是结果意图。我正在使用 Eclipse 3.7.2。在我使用 toString 的代码中的不同位置,它返回正确的结果

我的文件是 MyLibraryTest.java

    public void testToString(){
    setup();
    addItems();
    //assertEquals("Test: 2 books; 2 people.", ml.toString());
    String results = ml.toString();
    assertEquals("Test: 2 books; 2 people.", results);

}

    results = org.totalBeginner.tutorial.MyLibraryTest.testToString

我想知道我做错了什么?

这是 setup() 的代码

        public void setup(){
    b1 = new Book("Book1");
    b2 = new Book("Book2");

    p1 = new Person();
    p2 = new Person();

    p1.setName("Fred");
    p2.setName("Sue");

    ml = new MyLibrary("test");

    }

这是 addItems() 的代码

private void addItems() {
        ml.addBook(b1);
        ml.addBook(b2);
        ml.addPerson(p1);
        ml.addPerson(p2);
         }

这里我如何实现 toString()

public String toSrting(){ //return this.getName() + ": " + this.getBooks().size() + " books; " + this.getPeople().size() + " people."; return "测试:2 本书;2 人。";
}

4

1 回答 1

2

由于拼写错误,您实际上并没有覆盖toString方法。相反,您定义了 toSrting 方法。如您所见,字符tr的顺序是交换的。这就是直接从Object.toString.

于 2012-06-27T16:56:37.477 回答