繁体   English   中英

将hashmap转换为小写

[英]convert hashmap to lower case

我想将hashmap元素转换为小写。 在我的代码中,我将retMap转换为小写字母,但在我打印RetMap时并未反映出来。请帮助我哪里出错了。

public HashMap<String,String> loadHashmapFromResultset(ResultSet rs, String sKey, String sValue) throws SQLException
{
    //HashMap<String,String> myMap
    HashMap<String,String> RetMap = new HashMap<String,String>();
    while(rs.next()){
        //System.out.print(rs.getString(sKey)+rs.getString(sValue)+", " );
        RetMap.put(rs.getString(sKey.toLowerCase()), rs.getString(sValue.toLowerCase()));
    }
System.out.print(RetMap);
    return RetMap;
}

       results = stmt.executeQuery("select xyz,abc from table1");
        HashMap<String,String> INVS_VALUES = new HashMap<String,String>();
        INVS_VANITY_VALUES=util.loadHashmapFromResultset(results, "xyz", "abc");
        System.out.println("INVS_VALUES: "+INVS_VALUES);

那是因为您只更改了sKeysValue的大小写,它们用作列名以从ResultSet获取String。 您需要转换实际值的大小写,将地图作为key and value为小写。

RetMap.put(rs.getString(sKey.toLowerCase()).toLowerCase(), rs.getString(sValue.toLowerCase()).toLowerCase());

如果您错误地更改了sKeysValue的大小写,则可以简单地使用它。

RetMap.put(rs.getString(sKey).toLowerCase(), rs.getString(sValue).toLowerCase());

如sura的评论中所述 ,您可以在对ResultSet返回的字符串调用toLowercase()之前添加null检查,以避免NullPointerException

采用:

RetMap.put(rs.getString(sKey).toLowerCase(), rs.getString(sValue).toLowerCase());

您将键和作为参数获取的值小写:

RetMap.put(rs.getString(sKey.toLowerCase()), rs.getString(sValue.toLowerCase()));

您应该将实际结果小写:

RetMap.put(rs.getString(sKey).toLowerCase(), rs.getString(sValue).toLowerCase());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM