Java集合1.9中的新特性

来源:互联网 发布:打击网络犯罪电话 编辑:程序博客网 时间:2024/06/14 19:58
    List<Integer> list = List.of(1,2,3,4);    Set<String> set = Set.of("one","two");    Map<Integer,String> map1 = Map.of(1,"one",2,"two");    Map<Integer,String> map2 = Map.ofEntries(1,"one",2,"two");

集合可以使用of()的静态工厂方法提供方便的方式来创建不可变的映射。

  • 他们是 不可变的结构。不能添加、 删除或更新的键和值。调用任何赋值函数方法总是会导致 UnsupportedOperationException 将引发。然而,如果所包含的键或值本身是可变的这可能会导致地图不一致的行为或其内容出现改变。
  • 他们不允许 null 键和值。试图创建它们时使用 null 键或值在 NullPointerException 的结果。
  • 他们是可序列化,如果所有的键和值都是可序列化。
  • 他们在创建时拒绝重复键。重复键传递到 IllegalArgumentException 中的静态工厂方法结果。
  • 映射的迭代顺序是未指定的将受到更改。
  • 他们是 value-based。调用方应作出身份返回实例的任何假设。工厂可以自由地创建新的实例或重用现有的。因此,对这些实例的身份敏感操作 (参考平等 (==)、 身份的哈希代码和同步) 是不可靠的应该避免。
  • 他们序列化指定 Serialized Form 页面上。
原创粉丝点击