自定义注解 @interface的使用说明
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface productFieldself
{ //类型枚举
public enum Type{ 手机,电脑,平板};
//商品类型
Type productType() default Type.手机;
//商品发布时间
String productPublishYear() default "";
//商品名称
String productName() default "";
}
声明位置
class canku{
@productFieldself(name = "productType" value ="手机")
@productFieldself(publishYear="2017发布")
String canku //仓库
//使用
// 解析productFieldself类属性的注解
// getDeclaredFields方法会返回getDeclaredFields类所有的属性
Field[] fields = canku.class.getDeclaredFields();
for(Field field : fields){
//判断属性是否标注了@getDeclaredFields注解
boolean fieldHasAnno = field.isAnnotationPresent(getDeclaredFields.class);
if(fieldHasAnno){ //获取@productFieldself注解
ProductAnnotation product = field.getAnnotation(productFieldself.class);
//获取@productFieldself注解,进行自行处理
参数值 String name = product.productName();
String publishYear = product.publishYear();
}

浙公网安备 33010602011771号