找到后,如何从Java Hashmap返回数据

时间:2012-12-05 06:10:03

标签: java hashmap

以下是代码:

class thingsToRent
{
    private static HashMap thingsToRent = new HashMap();
    static
    {
        thingsToRent.put("V-1", new String( "Zumba workout video" ) );
        thingsToRent.put("V-2", new String( "Pumping Iron video" ) );    
    }

    public static String get( String serialEntered )
    {

这是我需要退回租赁字符串的地方,如Zumba锻炼或Pumping Iron,

我怎么说我的位置?

        return ?;

我已经尝试过返回serialEntered,但这只是给了我V-1或V-2,我

使用扫描仪进入控制台

    }
}

class Video extends Thing
{
    public Video( String serialEntered )
    {
        super( serialEntered );
    }

    public void getDescription( String serialEntered )
    {
        String theRentalFound = (String)thingsToRent.get( serialEntered );
        if ( theRentalFound == null )
    {
        throw new IllegalArgumentException("Serial Number not found (" + serialEntered + ")");
        }
        else
        {
            System.out.println( "Video: " + theRentalFound );
        }
    }
}

2 个答案:

答案 0 :(得分:1)

return thingsToRent.get(serialEntered); 

将达到目的,但您不需要,因为您已经在代码中实现了这一目标。

答案 1 :(得分:1)

首先始终编写接口代码。将private static HashMap thingsToRent = new HashMap();更改为private static Map thingsToRent = new HashMap();

您的命名约定也很混乱,将类名更改为RentalItems,将get方法更改为getRentableItem在该方法中,您需要使用提供的密钥访问地图:

public static String getRentableItem( String serialEntered )
{
    return thingsToRent.get(serialEntered);
}

注意,你需要添加一个coode来处理如果项目不存在会发生什么 - 我会留给你o决定做什么。