首页 > 编程知识 正文

双括号初始化导致的诡异问题是什么,双括号初始化导致的诡异问题怎么解决

时间:2023-05-03 14:39:19 阅读:237677 作者:1022


明明是同样的类型,却编译不通过!最开始我以为是泛型的问题,反复查找资料和尝试后,最终定位到是双括号导致的!
参考资料:Java:双括号初始化 /匿名内部类初始化法
阅读资料后可知,第一层括号实际上是产生了一个HashMap的子类所以可以解释为什么图上的代码会编译错误因为两个HashMap的类型不一致,而第二层为代码块所以可以调用类内部方法

总结:千万不要再使用双括号初始化,使用new Object()和代码块代替即可!双括号会带来非常多的class文件以及OOM风险为了节省一两行代码得不偿失!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。