Skip to content
程序猿DD程序猿DD
主页
最新发布
Java新特性
玩转IDEA
旧版博客open in new window
社区交流open in new window
  • Java 18

    • 指定UTF-8为默认字符集
      • 简单Web服务器
        • 新增@snippet标签
        • Java 17

          • 密封类
            • switch的模式匹配(预览)
            • Java 16

              • record类
                • instanceof增强
                  • Stream转List增强
                    • Stream.toList()的性能比较
                    • Java 15

                      • 文本块
                        • 隐藏类
                        • Java 14

                          • switch表达式增强
                          • Java 13

                            • Java 12

                              • Java 11

                                • 移除JavaEE和CORBA模块
                                • Java 10

                                  • 局部变量的类型推断
                                  • Java 9

                                    • 交互式编程环境JShell
                                      • 不可变集合的快捷创建方法

                                      Java 10 新特性:局部变量的类型推断

                                      程序猿DD原创2022年5月21日
                                      • Java
                                      • Java 9
                                      大约 1 分钟

                                      # Java 10 新特性:局部变量的类型推断

                                      在Java当引入泛型的时候,我们申明具体类型的时候需要这样写(等号两边都需要):

                                      List<String> list = new ArrayList<String>();
                                      Map<String, String> map = new HashMap<String,String>();
                                      

                                      后来在Java 7推出之后,简化为(只需要在左边申明类型即可):

                                      List<String> list = new ArrayList<>();
                                      Map<String, String> map = new HashMap<>();
                                      

                                      而这次Java 10中,对类型的推断进一步优化,只需要这样即可(类型在等号右边决定):

                                      var list = new ArrayList<String>();
                                      var map = new HashMap<String, String>();
                                      

                                      对于var的使用还有几点要注意的:

                                      1. 定义的时候必须初始化
                                      2. 只能用于定义局部变量
                                      3. 不能用于定义成员变量、方法参数、返回类型
                                      4. 每次只能定义一个变量,不能复合声明变量

                                      好了,今天的分享就到这里!如果您学习过程中如遇困难?可以加入我们超高质量的技术交流群open in new window,参与交流与讨论,更好的学习与进步!另外,不要走开,关注我!持续更新Java新特性专栏open in new window!

                                      上次编辑于: 2022/5/21 02:29:53
                                      贡献者: dd
                                      © 2016 - 2022 didispace.com 版权所有
                                      沪ICP备14037150号-3
                                      Copyright © 2022 程序猿DD