所以我是Java的新手,并且在整个学期都在苦苦挣扎。在我目前的任务中,我们正在使用HashMap。我需要得到getAlbum。如果存在,则从HashMap返回一个Album,否则返回null。 @oaram albumName要返回的相册的名称 @return一个专辑或null
这是我现在拥有的。对我的回答不太自信。任何提示将非常感谢。我有一种感觉,我在代码中有一个太多的albumName。如此迷茫。我知道这并不困难。感谢
public Album getAlbum(String albumName)
{
if(albumName == albumName)
return albumName;
else
if(albumName == null)
return null;
}
答案 0 :(得分:3)
注意,这将始终为真:
if(albumName == albumName) {
所以从来没有帮助。
使用地图获取您想要的内容:
// assuming a HashMap<String, Album> called map
public getAlbum (String albumName) {
return map.get(albumName);
}
如果找不到匹配项,地图将返回null 根据{{3}}:
返回指定键映射到的值,如果此映射不包含键的映射,则返回null。
另外作为旁注和PShemo,永远不要使用==
来比较字符串,因为==
比较一个对象引用是否与另一个相同,在大多数情况下你不感兴趣。比较字符串时,您通常想知道两个字符串是否具有相同顺序的相同字符。所以请使用if (string1.equals(string2))
或if string1.equalsIgnoreCase(string2))