2017-05-04 51 views
-1

我在特定日期存儲零值。
我得到異常的dur_call.put(value, "0")正在獲取類型不匹配:無法從元素類型對象轉換爲字符串

HashMap<String, String> dur_call = new HashMap<String, String>(); 
HashMap<String, String> brows_call = new HashMap<String, String>(); 
HashMap<String, String> brows_call_dst = new HashMap<String, String>(); 
HashMap<String, String> subs = new HashMap<String, String>(); 
HashMap<String, String> sub_dur = new HashMap<String, String>(); 
HashMap<String, String> act = new HashMap<String, String>(); 
HashMap<String, String> low_bal = new HashMap<String, String>(); 
HashMap<String, String> deact = new HashMap<String, String>(); 
HashMap<String, String> re_act = new HashMap<String, String>(); 

for (String value : datetime) { 
    dur_call.put(value, "0"); 
    brows_call.put(value, "0"); 
    brows_call_dst.put(value, "0"); 
    subs.put(value, "0"); 
    sub_dur.put(value, "0"); 
    act.put(value, "0"); 
    low_bal.put(value, "0"); 
    deact.put(value, "0"); 
    re_act.put(value, "0"); 
} 
+1

哇,看起來很可怕!有關發佈問題的更多信息,請使用[help]。 – Abubakkar

+1

請考慮修改您在此問題中發佈的代碼示例。就目前而言,它的格式和範圍使我們很難幫助你;這裏是一個[很好的資源](http://stackoverflow.com/help/mcve)讓你開始。向我們展示什麼'datetime'也會有很大的幫助,因爲它的一個元素顯然不是String –

+0

你確定錯誤是'dur_call.put(value,「0」);'line?我不認爲這是。 –

回答

0

我相信,你的錯誤上面一根線,

for (String value : datetime) { 

這是唯一的地方,那裏的東西要被轉換成String

變量datetime是什麼類型的變量?在我看來,datetime不是字符串的可迭代字符串,它應該是(用於該代碼的工作)。

您的錯誤是運行時異常還是編譯器錯誤?

如果它是一個例外,datetime是一個字符串迭代,那麼你就夾雜了一些非類型化的集合來訪問仿製藥 - 你的編譯器將可能給你一個警告,這種情況出現在你的代碼 - 或者你有註釋性的地方用@SuppressWarnings("unchecked")

(也What is SuppressWarnings (「unchecked」) in Java?見)

在這種情況下,儘量使你的整個代碼工作沒有取消選中警告沒有它的抑制。

如果您的錯誤是編譯器錯誤,您需要將所有地圖的關鍵點更改爲可迭代的類型datetimejava.util.Date也許?

相關問題