相信很多人和笔者一样,经常会做一些数组的初始化工作,也肯定会经常用到集合类。假如我现在要初始化一个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);
  }
  };

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

最新文章

  1. Visual Studio 2015 Update 2正式版下载地址
  2. 在Excel里用vba给合并的单元格添加注释
  3. Eclipse在线安装SVN
  4. VIM技巧(1)
  5. 内存泄露 memory leak 的原因
  6. AndroidStudio怎么将开源项目发布到jcenter
  7. Python新手学习基础之函数-关键字参数
  8. gdb篇
  9. asp.net mvc异步查询
  10. ajax数据请求5(php格式)
  11. HDU5723 Abandoned country (最小生成树+深搜回溯法)
  12. javascript中=,==,与===的区别;以及特殊值NaN的讲解
  13. redis基本类型以及优点特性
  14. CSS3制作图形大全——碉堡了
  15. linux crontab详解 php开发相关
  16. Scala多重继承及AOP
  17. 【Java】Java日志框架Logback的简单例子
  18. VS2010配置HTML5智能提示
  19. 解决QML Window 增加radius效果
  20. Iptables教程

热门文章

  1. Oracle登录报错-ORA-00119
  2. python面试的100题(20)
  3. yii csrf 配置
  4. 动态规划 ---- 最长公共子序列(Longest Common Subsequence, LCS)
  5. 【HTML】iframe嵌套界面自适应,可高度自由收缩
  6. Hibernate项目的基本步骤和一些错误提示
  7. matplotlib 画封闭图像并填充
  8. ubuntu安装搜狗输入
  9. POJ3122 Pie(二分)
  10. Install macOS High Sierra on Any Supported Intel-based PC