java 11 新增了很多特性,我们针对较为突出的特性进行说明。
直接运行
在以前的版本中,我们在命令提示下,需要先编译,生成class文件之后再运行,例如:
javac HelloWorld.java
java HelloWorld
在java 11中,我们可以这样直接运行
java HelloWorld.java
String新增方法
strip方法,可以去除首尾空格,与之前的trim的区别是还可以去除unicode编码的空白字符,例如:
char c = '\u2000';//Unicdoe空白字符
String str = c + "abc" + c;
System.out.println(str.strip());
System.out.println(str.trim());
System.out.println(str.stripLeading());//去除前面的空格
System.out.println(str.stripTrailing());//去除后面的空格
isBlank方法,判断字符串长度是否为0,或者是否是空格,制表符等其他空白字符
String str = " ";
System.out.println(str.isBlank());
repeat方法,字符串重复的次数
String str = "monkey";
System.out.println(str.repeat(4));
lambda表达式中的变量类型推断
jdk11中允许在lambda表达式的参数中使用var修饰
函数式接口:
@FunctionalInterface
public interface MyInterface {
void m1(String a, int b);
}
测试类:
//支持lambda表达式参数中使用var
MyInterface mi = (var a,var b)->{
System.out.println(a);
System.out.println(b);
};
mi.m1("monkey",1024);