Java Package.isAnnotationPresent()方法

来源:互联网 发布:c语言和指针 编辑:程序博客网 时间:2024/06/07 13:49
Java Package.isAnnotationPresent()方法

Java Package.isAnnotationPresent()方法用法实例教程。方法返回true,如果指定类型的注释存在于此元素上, 否则返回false。这种方法的设计主要是为了方便访问标记注释

描述
java.lang.Package.isAnnotationPresent(Class<? extends Annotation> annotationClass) 方法返回true,如果指定类型的注释存在于此元素上,

否则返回false。这种方法的设计主要是为了方便访问标记注释

声明
以下是声明java.lang.Package.isAnnotationPresent()方法

public boolean isAnnotationPresent(Class<? extends Annotation> annotationClass)
参数
annotationClass --对应于注释类型的Class对象


返回值
这种方法指定注释类型的注释存在于此元素上,则返回true,否则返回false


异常
NullPointerException -- 如果给定的注释类是null


实例
下面的例子说明了如何使用lang.Object.isAnnotationPresent()方法。


package com.yiibai;


import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.reflect.Method;


// declare a new annotation
@Retention(RetentionPolicy.RUNTIME)
@interface Demo {
   
   String str();
   
   int val();
}


public class PackageDemo {


   // set values for the annotation
   @Demo(str = "Demo Annotation", val = 100)
   // a method to call in the main
   public static void example() {
      PackageDemo ob = new PackageDemo();
      
      try {
         Class c = ob.getClass();


         // get the method example
         Method m = c.getMethod("example");


         // get the annotation for class Demo
         Demo annotation = m.getAnnotation(Demo.class);


         // print the annotation
         System.out.println(annotation.str() + " " + annotation.val());
      } catch (NoSuchMethodException exc) {
         exc.printStackTrace();
      }
   }
   
   public static void main(String args[]) {
      example();
      
      Package[] pack = Package.getPackages();
      // check if annotation hello exists
      for (int i = 0; i < pack.length; i++) {
         System.out.println("" + pack[i].isAnnotationPresent(Demo.class));
      }
   }
}
让我们来编译和运行上面的程序,这将产生以下结果:


Demo Annotation 100
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
false
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 微信钱包充值话费不到帐怎么办 京东买的显示器过保坏了怎么办 支付宝充话费充错号码是空号怎么办 京东充话费充错了号码该怎么办 微信红包充话费不到账怎么办 支付宝充话费等待第三方发货怎么办 微信充话费显示成功但没收到怎么办 微信退款一直在退款中怎么办 文件大于100发不了微信怎么办 微信的传送文件大于100怎么办 微信钱包话费充值错误怎么办 微信转账到不了账也退不回是怎么办 求人办事微信发红包对方不收怎么办 微信上交了订金对方不退怎么办 交通事故对方伤员堵大门搂腿怎么办 电脑开机桌面文件都没了怎么办 qq飞车手游队长换了微信群怎么办 qq飞车手游登录授权失败怎么办 安装时提示安装包发现错误怎么办 苹果6p升级系统验证失败怎么办 w10开不了机无限重启怎么办 微信朋友圈里的表情图打不开怎么办 金立手机微信启动录音被拒绝怎么办 微信帐号解封后漂流瓶不能用怎么办 微信怎么在电脑上登不上去怎么办 玩旧版60级魔兽经常花屏怎么办? 我的世界手机版物品栏不见了怎么办 苹果手机掉进水里出现花屏该怎么办 球球大作战还没进去停止运行怎么办 ps3 e3硬破芯片坏了怎么办 电话打开后页面上没有东西怎么办 WPS在电脑安装后卸载不了怎么办 ps总要以管理员的身份打开怎么办 3d关的慢保存慢怎么办 无法与服务器建立可靠的连接怎么办 被抵押的房子开发商不解押怎么办 手机系统语言是英文没有中文怎么办 w7主机网插口灯不亮了没网怎么办 电脑用了5年变得很卡了怎么办 苹果6s系统占12g怎么办 百度网盘下载的压缩包打不开怎么办