将hashmap转换为小写

时间:2014-02-12 10:29:51

标签: java arrays hashmap

我想将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);

3 个答案:

答案 0 :(得分:1)

这是因为您更改了仅用作列名的sKeysValue来从ResultSet获取字符串的情况。您需要将地图为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());

As mentioned in the comments by sura,您可以在调用null返回的字符串toLowercase()之前添加ResultSet检查,以避免NullPointerException

答案 1 :(得分:0)

使用:

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

答案 2 :(得分:0)

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

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

您应该小写实际结果:

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