最近看到了几个代码,他们的方法参数都包含数组类型,但是在传递实参的时候却没有写成数组形式,即没有以大括号包围,但实际上可以运行,请问这是什么原因呢?谢谢!
代码如下:
示例1:
@WebServlet(description = "a enter for wechat", urlPatterns = { "/aaa"},loadOnStartup=1)
示例2:
@WebServlet(description = "a enter for wechat", urlPatterns = "/aaa",loadOnStartup=1)
Webservlet注解源码:
/**
* @return array of URL patterns to which this Filter applies
*/
String[] urlPatterns() default {};
问题一:
我在看了源码之后,觉得urlPatterns的赋值应该按照示例1写才对,但是实际上很多人都使用了示例2的写法,但是示例2赋值的不应该是string类型而不是string数组吗?这样不是会参数类型不匹配吗?但实际上我测试发现两种写法都可以,这是为什么呢?
问题二:如果urlPatterns的url是多个而不是一个呢?是不是就必须按照示例1的写法加上大括号写成{url1,url2}这样了?
谢谢!!