- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
在本文中,我们将学习在我们的应用程序中初始化 Java EnumMap
。
1. Java EnumMap
是一个专门的 Map
实现,其键是 Enum
类型。
2.EnumMap
中的所有键在创建时必须是单一的 Enum
类型。
3.EnumMap
中的元素保持键的自然顺序。
4. 不允许空键,而在 EnumMap
中允许空值。
5.EnumMap
具有以下构造函数来对其进行初始化。
EnumMap(Class<K> keyType)
EnumMap(EnumMap<K,? extends V> m)
EnumMap(Map<K,? extends V> m)
现在我们将通过示例讨论初始化 EnumMap
。
要通过指定的 Class
对象创建枚举Map,请使用以下构造函数。
public EnumMap(Class<K> keyType)
它创建一个具有指定键类型的空枚举Map。如果 keyType 为 null,则将抛出 NullPointerException
。
现在找到示例。
查找示例枚举。
enum MyEnum {
A, B, C, D, E, F
}
通过传递上述枚举的 Class
对象找到初始化 EnumMap
的代码。
EnumMap<MyEnum, String> em = new EnumMap<MyEnum, String>(MyEnum.class);
System.out.println(em.size()); // 0
em.put(MyEnum.A, "AA");
em.put(MyEnum.B, "BB");
System.out.println(em.size()); // 2
System.out.println(em);
输出:
0
2
{A=AA, B=BB}
要使用指定的枚举Map创建枚举Map,请找到以下构造函数。
public EnumMap(EnumMap<K,? extends V> m)
新创建的枚举Map将包含枚举Map m 的所有元素,我们从中初始化我们的枚举Map。
新创建的枚举Map将具有与指定枚举Map相同的键类型。
如果枚举Map m 的大小为零,则新创建的枚举Map的大小也将为零。
如果枚举Map m 为空,则抛出 NullPointerException
。
例子:
EnumMap<MyEnum, String> em1 = new EnumMap<MyEnum, String>(MyEnum.class);
em1.put(MyEnum.A, "AA");
em1.put(MyEnum.B, "BB");
EnumMap<MyEnum, String> em2 = new EnumMap<MyEnum, String>(em1);
em2.put(MyEnum.C, "CC");
em2.put(MyEnum.D, "DD");
System.out.println(em2);
输出
{A=AA, B=BB, C=CC, D=DD}
要通过指定Map创建枚举Map,请找到构造函数。
public EnumMap(Map<K,? extends V> m)
指定的Map必须包含至少一个Map来决定新枚举Map的键类型。
新创建的枚举Map将包含指定Map的元素。
如果指定的Map m 不包含Map,则抛出 IllegalArgumentException
。
如果指定的Map m 为空,则抛出 NullPointerException
。
例子:
Map<MyEnum, String> map = new HashMap<MyEnum, String>();
map.put(MyEnum.A, "AA");
map.put(MyEnum.B, "BB");
EnumMap<MyEnum, String> em = new EnumMap<MyEnum, String>(map);
em.put(MyEnum.C, "CC");
em.put(MyEnum.D, "DD");
System.out.println(em);
输出
{A=AA, B=BB, C=CC, D=DD}
我是 Spring 新手,这就是我想要做的事情: 我正在使用一个基于 Maven 的库,它有自己的 Spring 上下文和 Autowiring 字段。 它的bean配置文件是src/test/res
我在我的测试脚本中有以下列表初始化: newSequenceCore=["ls", "ns", "*", "cm", "*", "ov", "ov", "ov", "ov", "kd"] (代表要在控
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: Class construction with initial values 当我查看 http://en.
我得到了成员变量“objectCount”的限定错误。编译器还返回“ISO C++ 禁止非常量静态成员的类内初始化”。这是主类: #include #include "Tree.h" using n
我有如下所示的a.h class A { public: void doSomething()=0; }; 然后我有如下所示的b.h #include "a.h" class b: publi
我需要解析 Firebase DataSnapshot (一个 JSON 对象)转换成一个数据类,其属性包括 enum 和 list。所以我更喜欢通过传递 DataSnapshot 来手动解析它进入二
我使用 JQuery 一段时间了,我总是使用以下代码来初始化我的 javascript: $(document).ready( function() { // Initalisation logic
这里是 Objective-C 菜鸟。 为什么会这样: NSString *myString = [NSString alloc]; [myString initWithFormat:@"%f", s
我无法让核心数据支持的 NSArrayController 在我的代码中正常工作。下面是我的代码: pageArrayController = [[NSArrayController alloc] i
我对这一切都很陌生,并且无法将其安装到我的后端代码中。它去哪里?在我的页脚下面有我所有的 JS? 比如,这是什么意思: Popup initialization code should be exec
这可能是一个简单的问题,但是嘿,我是初学者。 所以我创建了一个程序来计算一些东西,它目前正在控制台中运行。我决定向其中添加一个用户界面,因此我使用 NetBeans IDE 中的内置功能创建了一个 J
我有 2 个 Controller ,TEST1Controller 和 TEST2Controller 在TEST2Controller中,我有一个initialize()函数设置属性值。 如果我尝
据我所知, dependentObservable 在声明时会进行计算。但如果某些值尚不存在怎么办? 例如: var viewModel ={}; var dependentObservable1 =
我正在阅读 POODR 这本书,它使用旧语法进行默认值初始化。我想用新语法实现相同的功能。 class Gear attr_reader :chainring, :cog, :wheel de
我按照 polymer 教程的说明进行操作: https://www.polymer-project.org/3.0/start/install-3-0 (我跳过了可选部分) 但是,在我执行命令“po
很抱歉问到一个非常新手的Kotlin问题,但是我正在努力理解与构造函数和初始化有关的一些东西。 我有这个类和构造函数: class TestCaseBuilder constructor(
假设我们有一个包含 30 列和 30 行的网格。 生命游戏规则简而言之: 一个小区有八个相邻小区 当一个细胞拥有三个存活的相邻细胞时,该细胞就会存活 如果一个细胞恰好有两个或三个活的相邻细胞,那么它就
我是 MQTT 和 Android 开放附件“AOA” 的新手。在阅读教程时,我意识到,在尝试写入 ByteArrayOutputStream 类型的变量之前,应该写入 0 或 0x00首先到该变量。
我有 2 个 Controller ,TEST1Controller 和 TEST2Controller 在TEST2Controller中,我有一个initialize()函数设置属性值。 如果我尝
我有一个inotify /内核问题。我正在使用“inotify” Python项目进行观察,但是,我的问题仍然是固有的关于inotify内核实现的核心。 Python inotify项目处理递归ino
我是一名优秀的程序员,十分优秀!