How to fix error: “class, interface, or enum expected” when defining a Map outside of a class?
本问题已经有最佳答案,请猛点这里访问。
对于我自己的
1 2 3 4 5 6 | static Map<int, String> map = new HashMap<int, String>(); map.put(2,"VERBOSE"); map.put(3,"DEBUG"); map.put(4,"INFO"); map.put(5,"WARN"); map.put(6,"ERROR"); |
我想知道是否有一个函数可以自动执行这个操作?但我现在知道它的每一个功能。
但是,我在类定义之前定义了行,然后得到了错误:
1 |
不确定它的含义(也许我不能在类之外声明变量?).I还试图在类内定义映射,但无法解析
我很困惑(和往常一样);我只想得到一个字符串"错误",如果优先级值是6等等。
在我的情况下我做错了什么…?
maybe I cannot declare variables outside a class?
对的。
用途:
1 2 3 4 5 6 7 8 9 10 11 12 13 | class Foo { static Map<Integer, String> PRIORITY_LABELS = new HashMap<>(); static { PRIORITY_LABELS.put(2,"VERBOSE"); PRIORITY_LABELS.put(3,"DEBUG"); PRIORITY_LABELS.put(4,"INFO"); PRIORITY_LABELS.put(5,"WARN"); PRIORITY_LABELS.put(6,"ERROR"); } // rest of class goes here } |
I also notice, that I have not imported a Map module, and AndroidStudio does not seem to require a Map module (i.e. the name 'Map' is not red and underlined).
这是因为Android Studio不知道如何处理这些代码。一旦你把它们放到课堂上,Android Studio就会意识到你正在尝试使用