Java11 新特性
直接运行
在以前的版本中,在命令提示下,需要先编译,生成class文件之后再运行,例如:
javac HelloWorld.Java
java HelloWorld
在Java 11中,可以这样直接运行,当然这样直接运行是不产生字节码文件的
java HelloWorld.Java
String新增方法
1. 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());//去除后面的空格
2. isBlank方法:判断字符串长度是否为0,或者是否是空格,制表符等其他空白字符
String str = " ";
System.out.println(str.isBlank());
3. repeat方法:字符串重复的次数
String str = "seven";
System.out.println(str.repeat(4));// 重复输出seven 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("seven",1024);