java word批注

Java 批注的允许的属性类型刻意非常严格,但是允许的类型也可以使用一些简洁的复合批注类型。

考虑教程站点中的示例注释:

package annotation;
@interface ClassPreamble {String author();String[] reviewers();
}

在这里,作者和审阅者为字符串和数组类型,与注释属性的允许类型保持一致。 以下是允许的类型的完整列表(从Java 7开始):

  • 任何对Class的参数化调用
  • 枚举类型
  • 注释类型,请注意不允许循环,注释类型不能引用自身
  • 一个数组类型,其元素类型为上述类型之一。

现在,要使功能更丰富的ClassPreable,请考虑以这种方式定义的另外两种注释类型:

package annotation;public @interface Author {String first() default '';String last() default '';
}package annotation;public @interface Reviewer {String first() default '';String last() default '';
}

有了这些,ClassPreamble可以由更丰富的Author和Reviewer批注类型组成,方法是:

package annotation;
@interface ClassPreamble {Author author();Reviewer[] reviewers();
}

现在,应用于类的注释如下所示:

package annotation;@ClassPreamble(author = @Author(first = 'John', last = 'Doe'), reviewers = {@Reviewer(first = 'first1', last = 'last1'), @Reviewer(last = 'last2') }
)
public class MyClass {
....
}

这是一个人为设计的示例,仅用于说明批注的组成,但是该方法广泛用于现实世界的批注,例如,用于定义两个JPA实体之间的多对多关系:

@ManyToMany@JoinTable(name='Employee_Project',joinColumns=@JoinColumn(name='Employee_ID'),inverseJoinColumns=@JoinColumn(name='Project_ID'))private Collection<Project> projects;

参考:在all和杂物博客上,由JCG合作伙伴 Biju Kunjummen 编写Java注释 。

翻译自: https://www.javacodegeeks.com/2012/12/composing-java-annotations.html

java word批注

java word批注_编写Java批注相关推荐

  1. java平均分排序_编写java程序,输入10个成绩,计算最高分,最低分,平均分,并按从小到大排序,最后统计高于平均分的人有多少?...

    展开全部 代码如下:import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class  ...

  2. java word 另存为_在java中将word文件另存为html

    我找到了Zack Macomber提示的答案,我使用宏转换word文件到html文件.我给出了该宏的编码.将宏名称保存为"saveashtml" Sub saveashtml() ...

  3. 编写java的应用_编写Java应用程序

    import javax.swing.JOptionPane; public class Account //账户类 { private String name; //储户姓名 private dou ...

  4. 编写java判断闰年_编写java程序判断闰年。

    代码如下: public class RUN { public static void main(String[] args) { //布尔型判断 int year = 2000; boolean b ...

  5. java商品类_编写java的一个商品类,急用,求大神帮忙,非常感谢

    要求要有输入/输出交互类和对象继承控制语句排序/最值下面是一个继承范例publicclassGoodsSetting{publicstaticvoidmain(String[]args){Keyboa ...

  6. java三角形代码_编写Java程序测试三角形

    frece public class Triangle { //定义三边 private int a; private int b; private int c; //get.. set.. //构造 ...

  7. 编写运行最简单的java程序——使用记事本编写java程序

    编写运行最简单的java程序--使用记事本编写java程序 第一个java程序--使用记事本编辑 经过上篇文章的java环境搭建成功的小伙伴们可以在自己的计算机上编写属于自己的java程序了yo~ 还 ...

  8. 08从零开始学Java之记事本怎么编写Java代码?

    作者:孙玉昌,昵称[ 一一哥],另外[ 壹壹哥]也是我哦 CSDN博客专家.万粉博主.阿里云专家博主.掘金优质作者 配套开源项目资料 GitHub地址: https://github.com/SunL ...

  9. java 自定义批注_充分利用 Java 的元数据,第 2 部分:自定义批注

    作者:Jason Hunter 了解如何编写您自己的批注类型并使用内置的批注来控制它们的行为. 在我的本系列的前一篇文章中,我介绍了 Java 的新元数据工具以及内置的批注类型 @Override.@ ...

最新文章

  1. JAVA Io 缓冲输入输出流
  2. 缓存-分布式锁-Redisson-闭锁测试
  3. assignment symbolic automaton verilog设计
  4. 打印多项式的那些坑(洛谷P1067题题解,Java语言描述)
  5. idea怎么导入jxl.jar库
  6. PHP printf()函数格式化使用详解
  7. struts2登录注册示例_Struts 2文件上传示例
  8. 细说分布式Redis架构设计和那些踩过的坑
  9. 林轩田机器学习基石和技法资源
  10. 匿名四轴上位机使用方法
  11. matlab中ones()、inf用法
  12. C语言完整知识体系总结
  13. Octet string 解析
  14. part Ⅲ Sightseeing and Visits 游览和参观??
  15. 华三防火墙web端口_华三防火墙开放端口 华三防火墙怎么登录
  16. pulsar client jar包选择-shaded 还是original
  17. macOS 神器 Workflow ,让效率翻倍!
  18. 良心分享 50 款程序员“神器级”的网站,你一定用得上,老少皆宜
  19. Linux平台卸载MySQL总结
  20. 小车红外线自主充电方案-1

热门文章

  1. 推荐一个实用的 .gitignore 文件
  2. TreeSet的null值与元素类型的约束
  3. 03-映射文件的sql语句中 #{} 和 ${} 的区别以及实现模糊查询
  4. 19级:班级日常分享 | 一天一瞬间
  5. Hibernate中使用Criteria查询及注解——(HibernateUtil)
  6. win10关闭“Windows安全中心”功能的两种方法
  7. 19年8月 字母哥 第五章 静态资源与模板引擎的整合 用热点公司网不行
  8. XML——使用 XPath来定位信息+使用命名空间
  9. jep290涉及jdk版本_JDK 13中的JEP 355文本块
  10. spring使用自定义注解_用Spring组成自定义注释