【问题标题】:Java toString() override for PP 的 Java toString() 覆盖
【发布时间】:2013-04-17 17:44:40
【问题描述】:

我正在尝试从如下所示的数组列表中打印这些歌曲: 添加歌曲后,我必须删除其中一首歌曲并显示剩下的歌曲,但我不确定如何覆盖 toString() 方法,因为我的输出看起来像这样

输出:

com.tdd.bll.Song@5e6a13
com.tdd.bll.Song@862041
com.tdd.bll.Song@1af9d1c
com.tdd.bll.Song@73a35c
com.tdd.bll.Song@1ea25aa

@Test
public void AddSongTest() {
    moesList.addSong(new Song("Alone", "Tech N9ne"));
    moesList.addSong(new Song("Wings", "Macklemore"));
    moesList.addSong(new Song("One More Night", "Maroon 5"));
    moesList.addSong(new Song("Words I Never Said", "Lupe Fiasco"));
    moesList.addSong(new Song("Dumb It Down", "Lupe Fiasco"));
    moesList.addSong(new Song("Nobody's Perfect", "J.Cole"));
    assertEquals(6, moesList.songCount());
}



@Test
public void RemoveSongTest() {     
  AddSongTest();
  moesList.removeSong(1);
  assertEquals(5, moesList.songCount());
  moesList.SongsLeft();
}
}

public void removeSong(int songsNumber) {
  songs.remove(songsNumber);
}

public void SongsLeft(){
  //System.out.print(songs.iterator().next());
  Iterator<Song> iterator = songs.iterator();
  while (iterator.hasNext()) {
    System.out.println(iterator.next().toString());
  }
}

【问题讨论】:

    标签: java overriding tostring


    【解决方案1】:

    只需在 Song 类中添加一个名为 toString() 的方法,该方法返回歌曲的名称。

    public String toString(){ 
        return theMemberVariableWithSongNameInIt ;
    }
    

    【讨论】:

    • 感谢您的回复,但我不确定如何重写 toString() 方法以从歌曲中获取信息。
    • public String toString(){ return theMemberVariableWithSongNameInIt ;}
    • 谢谢!我真的开始掌握类和对象的工作方式了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-03
    相关资源
    最近更新 更多