2013-05-09 33 views
-3
hm.put("billingEnquiry",true); 

產生錯誤「在類型HashMap的投入(對象,對象)的方法是不適用的參數(字符串,布爾)」

The method put(Object, Object) in the type HashMap is not applicable for the arguments 
(String,boolean)". 

如何解決這個問題?

+1

true不是一個對象。你需要一個布爾值而不是布爾值。或者你需要升級到jdk 1.5或更新版本。 – MTilsted 2013-05-09 13:09:43

+1

哪個Java版本? – Matteo 2013-05-09 13:09:53

+0

* boolean *是一個原始類型,* Boolean *是一個對象。 – Maroun 2013-05-09 13:10:56

回答

0

你可能使用非參數化的HashMap。 嘗試宣告你的HashMap是這樣的:

HashMap<String, Boolean> myMap = new HashMap<String, Boolean>(); 

另外請注意,您不能在泛型類型使用基本類型。 所以這個:

HashMap<String, boolean> myMap = new HashMap<String, boolean>(); 

...是不正確甚至不會編譯。

+3

在Java 5+虛擬機上,布爾值將被自動裝箱爲布爾值,無論該地圖是否爲通用地圖。它不是自動複製的,所以它不是Java 5+虛擬機,所以通用映射還不存在。 – 2013-05-09 13:11:36

3
hm.put("billingEnquiry",Boolean.TRUE); 

boolean用小寫字母b是原語而不是對象。

相關問題