簡體   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