簡體   English   中英

Java Map 無法獲得布爾值

[英]Java Map can't get boolean

我有一個這樣的地圖:

Map<String, Boolean> settings = new HashMap<String, Boolean>();

如果我創建一個這樣的新布爾值:

boolean bool = settings.get("something");

有或沒有(布爾值)Gradle 說:

Cannot cast java.lang.Object to java.lang.boolean

(嗯,這個對象是一個布爾值)如果我嘗試做 parseBoolean(String) 編譯器工作正常,但如果我執行,我得到:

Cannot cast java.lang.Boolean to java.lang.String

那么,我該怎么做,我知道第一個是正確的並且對其他人有用。

編輯:有點錯誤,Gradle 說:

Object cannot be converted to boolean

這意味着幾乎相同。

方法get將返回Boolean (對象),它是boolean (原始值)的包裝器。 因此,您可能需要應用演員表。

根據您的情況,也許您根本不需要存儲布爾值? 僅當字符串的值為“true”時才使用 HashSet 並添加字符串就足夠了嗎?

然后你可以寫:

boolean bool = settings.contains("something");

暫無
暫無

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

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