java7 语法新特性

本文介绍了 Java 7 中的一些关键改进,包括使用 @SafeVarargs 注解增强的可变参数方法、二进制字面量的支持、数字中允许出现的下划线分隔符、增强的 switch 语句、改进的异常处理机制以及自动关闭资源的能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

From: http://zhouxianglh.iteye.com/blog/1688653

Java7语法新特性

电子书下载地址:http://www.infoq.com/cn/minibooks/know-more-about-java7

电子书并不完整,把第一章整理了一下.

Java代码 复制代码 收藏代码
  1. /**
  2. * 增强的可变参数,@SafeVarargs,@SafeVarargs代替@SuppressWarnings("unchecked")
  3. */ 
  4. @SafeVarargs 
  5. public static <T> T testArgs(T... args) { 
  6.     return args[0]; 
  7.  
  8. /**
  9. * 二进制字面变量,0b或0B 标识二进制数字类似(0,0x)
  10. */ 
  11. public static void testBinary() { 
  12.     logger.info(0b1010101);// 85 
  13.     logger.info(0B1010101); 
  14.  
  15. /**
  16. * 增强数字,数字中允许出现"_",来分割数字
  17. */ 
  18. public static void testNumber() { 
  19.     logger.info("number : " + 98_5_6 + 1_2_3.6_95); 
  20.  
  21. /**
  22. * 增强switch,允许switch中使用String
  23. */ 
  24. public static void testSwitch() { 
  25.     String str = "good"
  26.     switch (str) { 
  27.     case "good"
  28.         logger.info("say good for switch"); 
  29.     } 
  30.  
  31. /**
  32. * 增强的try-catch.1,catch可以捕捉多个异常,此时e为异常.2,java.lang.Throwable.addSuppressed方法可以精确抛出异常
  33. */ 
  34. public static void testThrowException() { 
  35.     try
  36.         testThrowException(); 
  37.     } catch (NullPointerException | IndexOutOfBoundsException | NumberFormatException e) { 
  38.         // catch (FileNotFoundException | IOException e)//系统生成的代码出错,不明白为什么 
  39.         // java.lang.Throwable.addSuppressed 精确抛出异常 
  40.         e.addSuppressed(new Exception("测试 void java.lang.Throwable.addSuppressed(Throwable exception)")); 
  41.         logger.error(e.getClass()); 
  42.         logger.error("测试异常:", e.fillInStackTrace()); 
  43.     } 
  44.  
  45. public static void testThrowExceptionA() { 
  46.     throw new NullPointerException("Throw By void com.henglu.study.Test.throwExceptionTest()"); 
  47.  
  48. /**
  49. * 增强的try,实现 java.lang.AutoCloseable接口的类可以使用try-with-resources,自动释放资源
  50. */ 
  51. public static void testTry() throws IOException { 
  52.     // 实现 java.lang.AutoCloseable接口的类可以使用try-with-resource,自动释放资源,interface Closeable extends AutoCloseable 
  53.     try (FileInputStream fileInputStream = new FileInputStream("/nullFile")) { 
  54.         fileInputStream.read(); 
  55.     } 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值