虽然现在开发Android应用时使用Java 8还需要依赖于第三方工具,但是使用Java 7是不需要如此麻烦的。Android Kitkat SDK已经可以支持Java 7的语法了,因此,用这个版本以后的SDK即可以编译包含Java 7语法的代码,下文所有的代码都是在Android Studio IDE下用Kitkat SDK编译。
        Java 7的几个语法改善虽然远不如Java 8的影响大,但是也能给开发人员带来一些显而易见的好处,挑几个常用的介绍一下。

二进制字面常量和辅助数字阅读的下划线

        使用二进制常量在某此需要处理二进制数据的时候更易于阅读,甚至好于十六进制。同样,使用下划线在数字间进行分隔,也非常易于对代码的阅读。
int anInt = 0b101;long creditCardNumber = 1234_5678_9012_3456L;

switch语句支持字符串比较

        对于需要根据字符串进行多分支处理的情况,再也不用写一组if语句了,现在switch语句已经支持字符串,并且经过编译器优化后性能优于if语句。
public String getTypeOfDayWithSwitchStatement(String dayOfWeekArg) {     String typeOfDay;     switch (dayOfWeekArg) {         case "Monday":             typeOfDay = "Start of work week";             break;         case "Tuesday":         case "Wednesday":         case "Thursday":             typeOfDay = "Midweek";             break;         case "Friday":             typeOfDay = "End of work week";             break;         case "Saturday":         case "Sunday":             typeOfDay = "Weekend";             break;         default:             throw new IllegalArgumentException("Invalid day of the week: " + dayOfWeekArg);     }     return typeOfDay;}

泛型对象构造时的类型推断

        对于泛型对象,在构造时需要同样指定具体类型,比如: Map> myMap = new HashMap>();         在Java 7中,由于使用了类型推断,所以可以写得更简洁: Map> myMap = new HashMap();

使用try语句确保资源关闭

        资源型对象的关闭是很麻烦的,以前的做法是要在finally块中调用close()方法,现在Java 7提供了更简洁的资源型try语句,可以确保资源被正确的关闭。如:
static String readFirstLineFromFile(String path) throws IOException {  try (BufferedReader br = new BufferedReader(new FileReader(path))) {    return br.readLine();  }}

在一个catch语句中包含多个Exception

        老写法:
catch (IOException ex) {     logger.log(ex);     throw ex;catch (SQLException ex) {     logger.log(ex);     throw ex;}
        新写法:
catch (IOException|SQLException ex) {    logger.log(ex);    throw ex;}

        详细的语法特性请参考http://docs.oracle.com/javase/7/docs/technotes/guides/language/enhancements.html#javase7,希望有更多的Android应用采用Java 7更简洁的语法。
——欢迎转载,请注明原文出处  http://blog.csdn.net/caowenbin  ——
——欢迎关注微信号“曹文斌的软件思考”,共同探讨软件人生——


更多相关文章

  1. 箭头函数的基础使用
  2. NPM 和webpack 的基础使用
  3. Python list sort方法的具体使用
  4. 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
  5. android 使用html5作布局文件: webview跟javascript交互
  6. Android(安卓)Resource介绍和使用
  7. "Failed to fetch URL https://dl-ssl.google.com/android/repos
  8. 使用NetBeans搭建Android开发环境
  9. android 零星调试笔记

随机推荐

  1. Activity生命周期详解
  2. 【较详细】Andriod 从源码的角度详解View
  3. Android java层音频相关的分析与理解(二)音
  4. Android VS iOS:2011年的死亡竞技赛
  5. Android中的HashMap原理实践探索,重写equa
  6. 假期实训总结-赵鹏
  7. Android多媒体开发 Pro Android Media 第
  8. Android API Levels
  9. Android - 利用Android studio + Android
  10. 国产Android视频,Broncho A1