Scala的注解报错:annotation argument needs to be a constant
2015-08-21 16:09
459 查看
java和scala中的annotation,有一点是不太一样的。
在java中我们可以这样写
但是在scala中如果这样写就会报错:annotation argument needs to be a constant
如果我们换一下,写一个object,把该常量放到object中,就像下面这样
但还是会报同样的错。通过查阅资料了解到,scala中的常量定义时时不能有类型的,所以作如下修改就可以编译通过了。
在java中我们可以这样写
public static final String USER_ID = "userId"; @Field(USER_ID) private long userId;
但是在scala中如果这样写就会报错:annotation argument needs to be a constant
如果我们换一下,写一个object,把该常量放到object中,就像下面这样
@Field(USER_ID) object ScanningBookmark { final val USER_ID:String = "userId" final val STATUS_ID:String = "statusId" }
但还是会报同样的错。通过查阅资料了解到,scala中的常量定义时时不能有类型的,所以作如下修改就可以编译通过了。
@Field(USER_ID) object ScanningBookmark { final val USER_ID = "userId" final val STATUS_ID = "statusId" }
相关文章推荐
- Windows下Scala环境搭建
- Windows7下安装Scala 2.9.2教程
- XML 文件解析--含Unicode字符的XML文件
- 分分钟掌握快速排序(Java / Scala 实现)
- Scala极速入门
- Spark初探
- Scala实现REST操作
- Scala method call syntax
- 关于Scala多重继承的菱形问题
- Scala 高阶函数(high-order function)剖析
- Spray.io搭建Rest服务
- Spray.io搭建Rest — 支持Twirl模板并部署
- 搭建hadoop/spark集群环境
- ScalaMP ---- 模仿 OpenMp 的一个简单并行计算框架
- 用Scala实现延迟计算
- SBT学习 [持续更新...]
- Scala创建新的控制结构
- Scala: 一次命令式到函数式的重构
- 浅谈Scala的特质(trait)