- PR -

HashMapのgetについて

投稿者投稿内容
カウンター
大ベテラン
会議室デビュー日: 2004/02/19
投稿数: 123
投稿日時: 2007-12-17 22:13
お世話になります。

次のようなHashMapがある場合にString変数でHashMapのデータをget出来ません。

HashMap<String,String> map = new HashMap<String,String>();

map.put("データ1", "data1");
map.put("データ2", "data2");

String strKey = "データ1";

System.out.println(map.get(strKey));

結果:null

動的に作成した変数でHashMapをgetするにはどうすれば良いのでしょうか?

よろしくお願いします。
わたなべ
大ベテラン
会議室デビュー日: 2007/12/09
投稿数: 123
お住まい・勤務地: 札幌
投稿日時: 2007-12-17 22:19
取得できなかったなら大問題です。
本当に、そのコードをmainメソッドに貼り付けて実行してnullなんですか?

「動的に作成した変数でHashMapをgetする」というのが怪しいと思うんですが、意味が解るように説明してみてはどうでしょう?
カウンター
大ベテラン
会議室デビュー日: 2004/02/19
投稿数: 123
投稿日時: 2007-12-17 22:28
わたなべさんありがとうございます。

例えば、下記のようなことがしたいのですが。。。

@画面から入力された文字列を String変数に格納
A上記で設定されたString変数で HashMapをgetする

結果がnullになってしまいます。


kyo
会議室デビュー日: 2006/05/17
投稿数: 18
投稿日時: 2007-12-17 22:49
カウンターさんが貼ったコードからは再現させることができませんでした。

再現できるコードを貼ってもらえませんか?

コード:
import java.util.HashMap;

class HashMapTest {

    public static void main(String[] args) {

	HashMap<String,String> map = new HashMap<String,String>(); 

	map.put("データ1", "data1"); 
	map.put("データ2", "data2"); 

	String strKey = "データ1"; 

	System.out.println(map.get(strKey)); 
    }
}


結果:data1
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2007-12-18 00:39
キーに使う文字列が文字化けしているのでは?
ranco
大ベテラン
会議室デビュー日: 2007/11/02
投稿数: 112
投稿日時: 2007-12-18 09:34
全角の1と半角の1の違い、的な問題もユーザ入力を扱う場合はよくありますね。
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2007-12-18 09:43
末尾に空白が入っているとかも。

_________________
囚人のジレンマな日々
想馬
大ベテラン
会議室デビュー日: 2003/05/29
投稿数: 245
お住まい・勤務地: 神奈川・東京
投稿日時: 2007-12-18 09:54
コード:
System.out.println(map.get(strKey));



コード:
System.out.println("key = [" + strKey + "]");
System.out.println("value = [" + map.get(strKey) + "]");


として実行してみた場合はどうなりますか?

スキルアップ/キャリアアップ(JOB@IT)