zoukankan      html  css  js  c++  java
  • HashMap优雅的初始化方式以及引申

      相信很多人和笔者一样,经常会做一些数组的初始化工作,也肯定会经常用到集合类。假如我现在要初始化一个String类型的数组,可以很方便的使用如下代码:

      String [] strs = {"Tom","Jack"};

      但是我相信很多人在初始化HashMap的时候是使用如下的方式:

      Map<String, Object> map = new HashMap<String, Object>();
      map.put("name", "June");  
      map.put("age", 12);

      上面这段代码个人觉得略显啰嗦,其实还有另外一种优雅的初始化方式:

      Map<String, Object> map = new HashMap<String, Object>() {
          {
              put("name", "June");  
              put("age", 12);  
          }
      };

      这边有必要说清楚两个大括号表示的是啥意思,是一种什么语法呢?其实,外层的一组“{}”表示的是一个匿名类,内层的一对“{}”表示的是实例初始化块,然后这边还有一点需要明白,实例初始化块的代码在编译器编译过后,是放在类的构造函数里面的,并且是在原构造函数代码的前面。

    参考:HashMap优雅的初始化方式以及引申

  • 相关阅读:
    Ubuntu 17 安装sublime
    ubuntu17 设置python3为默认及一些库的安装
    Java中内存分析(一)
    我的学习JavaEE路线
    我爱学习……
    HDU 4602
    K-special Tables
    Gym 100712A - Who Is The Winner
    UVA 1583
    水题 UVA 1586
  • 原文地址:https://www.cnblogs.com/aspirant/p/9662066.html
Copyright © 2011-2022 走看看