- 支持二进制字面量
- 数字字面量可以出现下划线
- switch 语句支持符串
- 泛型简化,菱形泛型
- 异常的多个catch合并,每个异常之间使用或 “|”
-
支持二进制字面量
@Testpublic void demo1(){System.out.println(0b110);//6}
数字字面量可以出现下划线
@Testpublic void demo2(){System.out.println(0b100_100);//36System.out.println(100_100);//100100}
switch 语句支持符串
@Test public void demo3(){ String str = "2"; switch (str){ case "1": System.out.println("1"); break; case "2": System.out.println("2"); break; case "3": System.out.println("3"); break; default: System.out.println("其他"); break; } }泛型简化,菱形泛型
@Test public void demo4(){ //JDK1.7之前 Map<String, Object> map = new HashMap<String, Object>(); List<Object> list = new ArrayList<Object>(); //JDK1.7起 Map<String, Object> map2 = new HashMap<>(); List<Object> list2 = new ArrayList<>(); }异常的多个catch合并,每个异常之间使用或 “|”
```java @Test public void demo5(){
try { FileInputStream fis = new FileInputStream(""); Thread.sleep(1000); } catch (FileNotFoundException | InterruptedException e) { e.printStackTrace(); }
}
<a name="C0cMe"></a>
### try-with-resources 语句
try-with-resources 语句:自动关闭流<br />开发中一般不用
```java
try(...){}
@Test
public void demo6() throws IOException {
//在try()中书写的对象,都需要实现AutoCloseable接口
try(
FileInputStream fis = new FileInputStream("input.txt");
FileOutputStream fos = new FileOutputStream("output.txt");
MyClose mc = new MyClose();
){
int b;
while((b = fis.read()) != -1) {
fos.write(b);
}
}
}
class MyClose implements AutoCloseable {
@Override
public void close() {
System.out.println("我关了");
}
}
