java 10 浏览博客得到的新特性:
1.用var替代了传统的变量声明
例如
URL lovnx = new URL("https://github.com/Lovnx");
URLConnection connection = lovnx.openConnection();
Reader reader = new BufferedReader(
new InputStreamReader(connection.getInputStream())
);
可以替换为
var lovnx = new URL("https://github.com/Lovnx");
var connection = lovnx.openConnection();
var reader = new BufferedReader(
new InputStreamReader(connection.getInputStream()));
虽然使用了var替代了传统的新特性,但是它有着一定的局限性
I.局部变量不可用
II.for循环中 一些判断条件中也不可用 例如 if
III.方法参数中
IV.构造函数的参数
V.字段 例如 int a = 0;
VI.捕获表达式
除了局部变量之外,另外在属性和方法返回值类型中,不能使用var。 这样做
是为了避免引起一些无法预知的错误,使用的时候尽量使需要推断的变量靠近
它声明的地方,从而缓解可读性问题。
1.用var替代了传统的变量声明
例如
URL lovnx = new URL("https://github.com/Lovnx");
URLConnection connection = lovnx.openConnection();
Reader reader = new BufferedReader(
new InputStreamReader(connection.getInputStream())
);
可以替换为
var lovnx = new URL("https://github.com/Lovnx");
var connection = lovnx.openConnection();
var reader = new BufferedReader(
new InputStreamReader(connection.getInputStream()));
虽然使用了var替代了传统的新特性,但是它有着一定的局限性
I.局部变量不可用
II.for循环中 一些判断条件中也不可用 例如 if
III.方法参数中
IV.构造函数的参数
V.字段 例如 int a = 0;
VI.捕获表达式
除了局部变量之外,另外在属性和方法返回值类型中,不能使用var。 这样做
是为了避免引起一些无法预知的错误,使用的时候尽量使需要推断的变量靠近
它声明的地方,从而缓解可读性问题。