阅读@RequestMapping文档:http://static.springsource.org/spring/docs/2.5.x/api/org/springframework/web/bind/annotation/RequestMapping.html
它接受一个字符串数组参数作为其路径映射。
所以这可以使用 java 进行:
@RequestMapping("MYVIEW")
但在 scala 中我需要使用:
@RequestMapping(Array("MYVIEW"))
scala 版本是有意义的,因为注释需要一个字符串数组。但是为什么上面的代码在java中工作,它不应该给出编译时错误吗?
下面的“ArrayChecker”类(我为说明这一点而编写的类)会导致 java 编译时错误:
ArrayChecker 类型中的方法acceptArrayParam(String[]) 不是
适用于参数(字符串)
public class ArrayChecker {
public static void main(String args[]){
String[] strArray;
acceptArrayParam("test");
}
private static void acceptArrayParam(String[] param){
}
}
@RequestMapping("MYVIEW") 应该不会引起类似的错误吗?
Section 9.7.1Java SE 规范指出:
如果元素类型是数组类型并且相应的 ElementValue 不是 ElementValueArrayInitializer,则唯一元素是 ElementValue 表示的值的数组值与该元素关联。否则,如果相应的 ElementValue 是 ElementValueArrayInitializer,则 ElementValueArrayInitializer 表示的数组值与该元素关联。
有一条评论澄清了上述内容:
换句话说,当单元素数组与数组值注释类型元素关联时,允许省略大括号。
由于 Scala 没有等效的数组初始值设定项语法,因此您必须使用Array(elems)
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)