簡體   English   中英

如何從Java中的HashMap獲取值?

[英]How to get values from HashMap in Java?

我想打印對象值。 我無法訪問它,也不知道該怎么做。

我無法使用value()訪問它

這是我的代碼:

public class txtdatei {

private String pickerName;
private String language;
private float volumeGain;
private long pickerId;
private static Map<Long,txtdatei> mapp=new HashMap<Long,txtdatei>();

public txtdatei(String username, String language, float volume){

    this.pickerName=username;
    this.language=language;
    this.volumeGain=volume; 
}
public static void main(String[] args){

    File file=new File("test.txt");
    try{
        file.createNewFile();
        FileWriter writer =new FileWriter(file);
        writer.write("username\tbenni\tlanguage\tgerman\n");
        writer.flush();
        writer.close();
        FileReader fr =new FileReader("test.txt");
        BufferedReader reader= new BufferedReader(fr);
        String zeile=reader.readLine();
    String [] data=zeile.split("\t");
    int i=0;
    for(i=0;i<data.length;i++)
    {
        if(data[i].equals("Username"))
                {
                    mapp.put((long)(1),new txtdatei(data[2],data[4],Float.parseFloat(data[6])));
                }
    }       
    System.out.println(mapp.get(1)); //dont know how to read the    
    }catch(IOException ioe){ioe.printStackTrace();}

}

希望可以有人幫幫我,

謝謝。

這是使用鍵獲取地圖的每個值的一種解決方案。

for(Long value: mapp.keySet()){
    System.out.println(mapp.get(value));
}

希望能幫助到你。

首先,您將鍵設置為 Long,因此當您使用 Map.get((Object)key) 時,您需要提供一個 Long 來檢索該值。我認為 1 被 jvm 轉換為 Integer,這就是您無法獲取的原因價值。 試試這個,它應該可以工作:

 mapp.get((long)1)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM