Java 六个月的版本迭代周期让我们突然间有些喘不过气来,又 Java 11 才会是一个长期支持版本,如果可能的话我们将会是从 Java 8 直接往 Java 11 跳去。在 Java 8 大行其道,裹足不前的当下,谈论着未来 Java 11 不确定的新特性,有一种看着别人家碗里的不过瘾,还要看着别人家锅里的感觉。

本篇原本只是为了对 Java 11 潜在的原始字符串字面量(Raw String Literals)的哨探,同时考虑到 Java 10 仅有的一个语言层面的新特性 var 局部变量类型推断,所以顺带介绍一下。

我这儿把它称之为 var 局部变量类型推断,说明了var 类型推断并不适用于类或实例的变量,或方法的参数。而且 var 也并未上升为一个  Java 的关键字,我们仍然可以用 var 作为变量或方法名。

对局部变量用 var 进行类型推断的代码示例变化如下:

List<String> list = new ArrayList<>(); //Java 10 以前
var list = new ArrayList<String>();    //Java 10 开始int age = 100;   //Java 10 以前
var age = 100;   //Java 10 开始,推断为 int 类型var stream = blocks.stream();   //都不需要引入 java.util.Stream 类

var 学了 Scala 的语法,再重复一遍,var 只能用于局部变量,这有一个好处就是局部变量的跨越性较小,不至于 var 声明的变量阅读时只有编译器知道它的确切类型。var 类型推断给代码书写上的变化就是对局部变量的任何类型声明都可以替代为 var。 阅读全文 >>

相比于 Java 10 的 var, 更期待 Java 11 支持多行字符串相关推荐

  1. java编写字符串连接程序注释_一种利用JAVA注释支持多行字符串的方法

    从BeetlSql项目将SQL全放在Beetl模板里得到启发,又想到一个比较偏门的用法.以下代码实测通过,详见jSqlBox项目的test\examples\multipleLineSQL\SqlTe ...

  2. Java 10:“ var”关键字

    Java 10使用关键字var引入了局部变量类型推断 . 这意味着无需编写: Map<Department, List<Employee>> map = new HashMap ...

  3. java 一二三四五_五道java小题,补更四道java小题

    一:分析以下需求,并用代码实现 1.定义List集合,存入多个字符串 2.删除集合中字符串"def" 3.然后利用迭代器遍历集合元素并输出 import java.util.Arr ...

  4. Java 9的误解和Java 10的愿望清单:Java影响者的全部访谈

    是时候消除那些Java 9的误解了 Java 9将在9月到达,即使我们已经准备好了也没有,但是在到达Java 9之前,仍有一些事情需要理解. 我们需要停止思考Maven在Java 9上不起作用,并且如 ...

  5. 五道java小题,补更四道java小题

    一:分析以下需求,并用代码实现     1.定义List集合,存入多个字符串     2.删除集合中字符串"def"     3.然后利用迭代器遍历集合元素并输出 1 import ...

  6. java 字符串文字筛选_拜托,Java。 最终是否支持多行字符串文字

    java 字符串文字筛选 我了解Java语言的思想很难以向后兼容的方式进行维护. 我知道JDK API(例如集合)的想法很难打破. 是. 我不明白为什么Java 仍然没有多行字符串文字. 您多久编写一 ...

  7. 拜托,Java。 最终是否支持多行字符串文字

    我了解Java语言的思想很难以向后兼容的方式进行维护. 我知道JDK API(例如集合)的想法很难打破. 是. 我不明白为什么Java 仍然没有多行字符串文字. 您多久编写一次这样的JDBC代码(或您 ...

  8. Java 10正式发布,带来了这些新特性

    点击上方"程序员小灰",选择"置顶公众号" 有趣有内涵的文章第一时间送达! 本文转载自公众号  InfoQ 作者 | 张建锋编辑 | 郭蕾 北京时间 3 月 2 ...

  9. 根据变量推断变量类型_11位专家参与其中:本地变量类型推断是Java 10中最大的新功能

    根据变量推断变量类型 " Java 10不仅是对Java 9的简单稳定性和性能修复," 尽管Java 9是六个月前才发布的( 仅! ),这意味着对Java 10的期望可能不是很高, ...

  10. Java 10 新特性介绍

    作为当今使用最广泛的编程语言之一的 Java 在 2018 年 3 月 21 日发布了第十个大版本.为了更快地迭代.更好地跟进社区反馈,Java 语言版本发布周期调整为每隔 6 个月发布一次.Java ...

最新文章

  1. 微信小程序把玩(二十八)image组件
  2. Binder相关面试总结(一):为什么Android要采用Binder作为IPC机制?
  3. DPI — Application Assurance — Overview
  4. 数据库里any 和 all 的区别
  5. excel怎么设置密码保护?Excel文件添加密码保护教程
  6. SAP(HANA+S/4)上云基础环境部署最佳实践
  7. python 制作wordcloud词云
  8. 十大排序总结(js实现、稳定性、内外部排序区别、时间空间复杂度、冒泡、快速、直接选择、堆、直接插入、希尔、桶、基数、归并、计数排序)
  9. P7077-函数调用【拓扑排序,dp】
  10. java sundry tips
  11. 深度学习与自然语言处理
  12. C#位运算讲解与示例
  13. java反射源码_java反射技术详解附源码
  14. asp.net中的post和get请求操作
  15. [转载收藏]三层式开发中的层次划分
  16. C#反射的Assembly的简单应用
  17. 在MAC环境下之以太坊(ethereum)开发环境安装
  18. EFCore 调试远程SqlServer数据库提示信号灯超时时间已到
  19. word打开老是配置进度_打开word2010总是出现配置进度怎么办_打开word2010出现配置进度的解决方法-系统城...
  20. python 单引号,双引号用法的理解

热门文章

  1. 对10G/40Gphy中auto-negotiation功能调试
  2. 2022内蒙古最新建筑施工电工(建筑特种作业)模拟考试试题及答案
  3. sublime Boxy Theme安装方法
  4. 计算机找不到ac97前面板怎么办,Win7前面板没有声音的解决方法(声卡设置+前面板插线)...
  5. sql分组排序mysql_SQL分组排序
  6. Racket Cheat Sheet
  7. 读书笔记 ---《偷影子的人》
  8. Spark Core实战:解析Tomcat日志
  9. esp32触摸touch功能使用过程详述arduino
  10. log4j2漏洞复现