2017-07-07 77 views
0

我正在添加到在Eclipse中完成的项目中,该项目显示从各种数据库提取到网页的数据。我想弄清楚如何使用hashmap。我有一个名为“description”的变量/列,它将显示基于它之前列的值的描述。这些描述在我的hashmap中。我只是不知道如何拉取“描述”的价值。从Eclipse中的hashmap获取值

这里是DtoBuilder的一部分 -

private HashMap<String,String> itemDescrMap = null; 

public VersionsDto build(Versions oneVersion){ 

    VersionsDto result = null; 
    if(itemDescrMap==null){ 
     itemDescrMap = loadItemDescrMap(); 
    } 

    // Create instance of versions object and build it. 
    if(oneVersion != null){ 
     result = new VersionsDto(); 
     result.setStore(oneVersion.getStore()); 
     result.setUpdatePackage(oneVersion.getUpdatePackage()); 
     result.setDescription(oneVersion.getDescription()); 

这里就是HashMap中的一部分 -

private static HashMap<String,String> loadItemDescrMap(){ 
    HashMap<String,String> map = new HashMap<String,String>(); 

    map.put("CDSA", "Color Match"); 
    map.put("CDSB", "New Formula Book"); 
    map.put("CDSC", "Base Assignments"); 
    map.put("CDSD", "Product Formulation"); 
    map.put("CDSE", "Old TAC"); 
    map.put("CDSF", "Colorant Systems"); 
    map.put("CDSG", "Miscellaneous"); 
    map.put("CDSH", "AFCD"); 

起初,我只是抓住了相同的数据,“描述”,因为我是为“updatePackage”,只是为了测试它将填充所有字段并将其显示到网页。所以现在我需要知道如何设置基于哈希映射的“description”值,其中第一个值(CDSD,CDSE等)是“updatePackage”列中所有可能的值,第二个值是相应的“描述“,我需要。

+1

'itemDescrMap.get(oneVersion.getDescription())'? – Aaron

+0

如何在相应的'result.setUpdatePackage(oneVersion.getUpdatePackage());'之前使用它? – BigRedEO

+0

这将不会检索您需要的正确值。参考@ user6106573提供的答案 – dan

回答

2

看的Javadoc https://docs.oracle.com/javase/7/docs/api/java/util/HashMap.html

我觉得itemDescrMap.get(oneVersion.getUpdatePackage())应该做的工作

+0

'itemDescrMap.get(oneVersion.getUpdatePackage())'代替'result.setDescription(oneVersion.getDescription());'? – BigRedEO

+1

你的问题是“我只是不知道如何拉取”description“值。”为此我给你答案。 我想你的方法setDescription(String)是将PUT“描述”值,你现在知道如何从哈希映射拉。 结合这些给出(如果我明白你想要什么),result.setDescription(oneVersion.getDescription());应该由result.setDescription(itemDescrMap.get(oneVersion.getUpdatePackage()))替换; 确定你想要做什么并阅读javadoc,你应该找到并理解解决方案。 – user6106573

+0

我想知道是否result.setDescription(itemDescrMap.get(oneVersion.getUpdateP ackage()));'可能工作 - 不知道他们是否可以像那样组合(我对Java很新)。试图在昨天下午在网上找到这样的东西,并没有运气。我会尝试看看它是否会返回我所需要的。 – BigRedEO