spring in action书中5.3节中代码错误
2017-12-20 23:30
459 查看
在spring in action(第四版)中155页,发现代码错误在编辑器中MAX_LONG_AS_STRING一直报Atrribute value must be constant的编译错误,代码如下:
Java规则中,当有一个注解的参数期望一个原始类型(例如int)或一个字符串时,这个值必须是一个常量表达式。常量表达式是指编译器在编译时能够计算出的值,只有特定类型的操作可以在一个常量表达式中使用。Long.toString()方法是一个运行时会调用的方法,因此这会使表达式变成不是一个常量的表达式。
解决办法:
参考链接
Java code won’t compile due to attribute must be a constant expression error
private static final String MAX_LONG_AS_STRING = Long.toString(Long.MAX_VALUE); @RequestMapping(method=RequestMethod.GET) public List<Spittle> spittles( @RequestParam(value="max", defaultValue=MAX_LONG_AS_STRING) long max, @RequestParam(value="count", defaultValue="20") int count) { return spittleRepository.findSpittles(max, count); }
Java规则中,当有一个注解的参数期望一个原始类型(例如int)或一个字符串时,这个值必须是一个常量表达式。常量表达式是指编译器在编译时能够计算出的值,只有特定类型的操作可以在一个常量表达式中使用。Long.toString()方法是一个运行时会调用的方法,因此这会使表达式变成不是一个常量的表达式。
解决办法:
private static final String MAX_LONG_AS_STRING = "" + Long.MAX_VALUE;
参考链接
Java code won’t compile due to attribute must be a constant expression error
相关文章推荐
- 【Spring in action】自动化装配Bean、通过Java代码及xml装配Bean
- SPRING IN ACTION 第4版笔记-第十一章Persisting data with object-relational mapping-004JPA例子的代码
- 《Spring in Action》一书第4章第2节错误更正
- Spring In Action 00 ---Spring 之旅
- Spring In Action 学习笔记:入门
- BUG:InstallShield 2012 Spring之前版本的帮助文档中关于StrGetTokens示例代码的错误
- spring in action 学习笔记三:对spring 容器的理解,以及如何利用AnnotationConfigApplicationContext这个容器创建对象
- Spring in action(Spring实战) 第四版中文翻译
- Spring In Action 03 ---面向切面的Spring
- <meachine learning in action> 中 dating site Classifier 的python3代码
- SPRING IN ACTION 第4版笔记-第十章Hitting the database with spring and jdbc-003-四种方式获取DataSource
- spring in action_4 资源整理
- Spring 测试代码的写法以及一个c3p0的错误
- @Transactional Spring Annotation in a Struts2 Action
- Spring in Action的感悟
- 《Spring Boot in Action》【2. 开发第一个应用】
- 《Spring in Action》第四版第一章《将 Spring 付诸实践》读书笔记(一)
- Spring in Action 入门之面向切面编程AOP
- SPRING IN ACTION 第4版笔记-第一章-002-DI介绍
- SPRING IN ACTION 第4版笔记-第二章WIRING BEANS-008-在Java配置文件中引入xml配置文件@Import、@ImportResource