java注解的参数没有被赋值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java注解的参数没有被赋值相关的知识,希望对你有一定的参考价值。

如果 注解属性 名称是 value , 并且 注解中只有 1 1 1 个属性 , 那么在使用 注解 为 注解属性 赋值时 , 可以省略注解名称 , 直接传入 注解属性值 ;

示例 : JDK 自带的 SuppressWarnings 注解 ,

@Target(TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE)
@Retention(RetentionPolicy.SOURCE)
public @interface SuppressWarnings
String[] value();

登录后复制
注解使用 : 使用 SuppressWarnings 注解时 , 直接传入 “all” 参数 , 省略了注解属性名称 ;

@SuppressWarnings("all")
@Override
public String toString()
return super.toString();

登录后复制
满足两个条件 , 才能使用上述简化方式 ;
参考技术A 注解很简单?其实并没有想当然的那么简单

刘小爱
2020-06-05 07:43
关注
今天是刘小爱自学Java的第52天。
感谢你的观看,谢谢你。
话不多说,开始今天的学习:

一、Annotation概述
Annotation,翻译过来就是注释、注解的意思。
第47天的时候就接触过注解,当时我还把注解和注释弄混了,其实它们之间是大同小异的:都是一种说明。
它们的区别在于:
注释主要是给程序员看的备注信息。
注解主要是给JVM看的备注信息。
1JDK提供的注解

①重写注解:@Override
被@override注解修饰的方法必须是父类中的重写方法或者是接口中的抽象方法。
其中用//修饰的句子就是注释。
②函数式接口:@FunctionalInterface
被FunctionalInterface修饰的接口必须是函数式接口。
其中用/**/修饰的句子也是注释。
③过时注解:@Deprecated
表示该方法已经过时了,有更好的方法可以使用。
当然过时并不代表着不能用了,依旧可以使用。
④抑制警告注解:@SuppressWarnings
让编译器不要报出警告信息。
这个是什么意思呢?
就是有的时候程序员写的代码不是很规范,开发工具会提示警告(只是警告并不是报错,并不影响程序的运行)。
对于刚开始学Java的人来说,可能都没有注意这个警告,而该注解可以使编译器不要报出警告信息。
2自定义注解
Java里非常重要的四大类型:
Class:类
Interface:接口
Enum:枚举
Annotation:注解
它们的创建方式是很相似的
参考技术B 一般情况下,Java注解的参数没有被赋值,则会使用默认值,如果没有指定默认值,则会抛出异常。

java 怎么获取注解中value的值

参考技术A 1.CONSTRUCTOR:用于描述构造器
2.FIELD:用于描述域
3.LOCAL_VARIABLE:用于描述局部变量
4.METHOD:用于描述方法
5.PACKAGE:用于描述包
6.PARAMETER:用于描述参数
7.TYPE:用于描述类、接口(包括注解类型) 或enum声明本回答被提问者采纳

以上是关于java注解的参数没有被赋值的主要内容,如果未能解决你的问题,请参考以下文章

java 自定义的注解有啥作用

java注解设置字段不能为零

Java 注解自定义注解 ( 注解属性定义与赋值 )

java 怎么获取注解中value的值

Java—自定义注解及使用

Java 注解