JAVA注解怎么赋值

卢峰 发布于 2016/10/13 09:29
阅读 720
收藏 0

我的注解是这样定义的

然后我想通过定义一个这样的数组


然后想这样赋值

可是这样赋值就报错了,求原因啊


加载中
0
xesam
xesam
注解与源码是两码事,不能相互混合着写。。
0
学而不思则罔
学而不思则罔

注解赋值必须是常量啊,虽然你deletePermits定义为了final但是因为它是数组,所以它仍然是可以使用deletePermits[1]=xx来改变值的,所以会报错。

你只能@AuthRequest(authCodes={xx,yy})这样写了。只有基础数据类型和String可以定义个常量,然后用常量名来给注解赋值,其他对象不可以吧。

0
卢峰
卢峰

引用来自“学而不思则罔”的评论

注解赋值必须是常量啊,虽然你deletePermits定义为了final但是因为它是数组,所以它仍然是可以使用deletePermits[1]=xx来改变值的,所以会报错。

你只能@AuthRequest(authCodes={xx,yy})这样写了。只有基础数据类型和String可以定义个常量,然后用常量名来给注解赋值,其他对象不可以吧。

 这个回答正解,突然就不记得常量的定义了  ,程序写多了也会乱
0
学而不思则罔
学而不思则罔

引用来自“学而不思则罔”的评论

注解赋值必须是常量啊,虽然你deletePermits定义为了final但是因为它是数组,所以它仍然是可以使用deletePermits[1]=xx来改变值的,所以会报错。

你只能@AuthRequest(authCodes={xx,yy})这样写了。只有基础数据类型和String可以定义个常量,然后用常量名来给注解赋值,其他对象不可以吧。

引用来自“我是来这里找女朋友的”的评论

 这个回答正解,突然就不记得常量的定义了  ,程序写多了也会乱

只有基础数据类型和String可以定义个常量,然后用常量名来给注解赋值,其他对象不可以吧。

这点有问题,枚举也是可以的。我也会像你这么写,不过编译不通过,就能想到这点。

0
卢峰
卢峰

引用来自“学而不思则罔”的评论

引用来自“学而不思则罔”的评论

注解赋值必须是常量啊,虽然你deletePermits定义为了final但是因为它是数组,所以它仍然是可以使用deletePermits[1]=xx来改变值的,所以会报错。

你只能@AuthRequest(authCodes={xx,yy})这样写了。只有基础数据类型和String可以定义个常量,然后用常量名来给注解赋值,其他对象不可以吧。

引用来自“我是来这里找女朋友的”的评论

 这个回答正解,突然就不记得常量的定义了  ,程序写多了也会乱

只有基础数据类型和String可以定义个常量,然后用常量名来给注解赋值,其他对象不可以吧。

这点有问题,枚举也是可以的。我也会像你这么写,不过编译不通过,就能想到这点。

枚举默认就是个常量 
返回顶部
顶部