当前位置:首页 > 开发 > 编程语言 > Java > 正文

[Java 8] 类型注释和插件式类型系统

发表于: 2014-03-25   作者:cucaracha   来源:转载   浏览:
摘要: 在 Java 8 之前的版本中,Annotation 只能注释在声明之上。例如类声明,成员变量声明,方法声明等。在 Java 8 之后,Annotation 可以用于类型。这意味着,在代码中的任何地方,只要使用类型就可以使用 Annotation 进行注释。例如,实例化一个类的时候(new),强制类型转换的时候,实现接口的时候(implements),抛出异常的时候(throws)。这种 Anno
在 Java 8 之前的版本中,Annotation 只能注释在声明之上。例如类声明,成员变量声明,方法声明等。在 Java 8 之后,Annotation 可以用于类型。这意味着,在代码中的任何地方,只要使用类型就可以使用 Annotation 进行注释。例如,实例化一个类的时候(new),强制类型转换的时候,实现接口的时候(implements),抛出异常的时候(throws)。这种 Annotation 被称作类型注释(Type Annotation)。

类型注释可以是为了让 Java 程序可以确保更为强壮的类型检查。但是在 Java 8 中没有提供类型检查框架,你可以下载或自己编写插件式的类型检查框架,并且与 Java 编译器一起结合使用。

例如,如果你希望你的变量的值不可以是 null,这样可以避免产生 NullpointerException。你就可以编写一个插件式的类型检查系统来进行检查。然后在代码中将你认为不可以为 null 的变量加上类型注释,表明被注释的变量不可以为 null。就像下面这样:
myString = (@NonNull String) str;


当你在编译代码的时候,需要在命令行包含 NonNull 插件模块,如果编译器发现有潜在的问题,则会打印出异常信息。你可以更改代码修正这些异常信息,所有的异常修复后可以避免在程序运行的时候发生 NullpointerException 这样的异常。

你可以编写多个不同的类型检查模块,让每个模块检查不同类型的错误。这样,你就可以在 Java 类型系统之上,创建你自己想要的类型检查系统。

合理地使用类型注释和类型检查系统,可以让你的代码更加健壮,更加不容易出错。

在大多数情况下,你都不需要自己编写类型检查模块。有一些第三方包已经很好地完成了这个工作。例如,华盛顿大学创建的类型检查框架。这个框架已经包含了 NonNull 检查模块、正则表达式检查模块、互斥锁检查模块等。详情可参考: Checker Framework

文章来源: http://www.aptusource.org/2014/03/type_annotations/

[Java 8] 类型注释和插件式类型系统

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号