顯然,我無法在散列表中存儲Long值。在哈希表中存在長問題Java
請參見下面的代碼:
//create a hashtable of type <String, Long>
Hashtable <String, Long> universalTable = new Hashtable <String, Long>();
universalTable.put("HEADS", new Long(0)); // this works fine
我通過這個表的構造DoFlip
:
DoFlip doFlip = new DoFlip(100000000, universalTable);
內DoFlip
:
Hashtable table; // pointer to hash map
long iterations = 0; // number of iterations
DoFlip(long iterations, Hashtable table){
this.iterations = iterations;
this.table = table;
}
這個類實現Runnable。 run()
方法如下 -
public void run(){
while(this.iterations > 0){
// do some stuff
this.heads ++;
this.iterations --;
}
updateStats();
}
public void updateStats(){
Long nHeads = (Long)this.table.get("HEADS");
this.table.put("HEADS", nHeads); // ISSUE HERE
}
我收到以下警告/錯誤。看起來像一個警告,但我不想要這個。
Note: File.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
當我重新編譯:
File.java:92: warning: [unchecked] unchecked call to put(K,V) as a member of the raw type java.util.Hashtable
this.table.put("HEADS", nHeads);
^
1 warning
我不清楚爲什麼是這樣的情況。首先,不需要輸入nHeads
。但我仍然這樣做,它不起作用。
注意:我根本不擅長Java。 :/
感謝您的幫助。
哈希表是不是在DoFlip通用的,警告是不是一個錯誤。 – 2013-02-26 03:19:37
「散列表在DoFlip中不是通用的」您能否詳細說明一下?此外,我明白這是一個警告(正如我提到的那樣)。我想明白爲什麼會發生這種情況。 – p0lAris 2013-02-26 03:21:42
@DaveNewton:明白了。非常感謝。 – p0lAris 2013-02-26 03:24:14