是否有理由在Java EE中的@Webservice(.....)注释中包含括号?

Kri*_*tof 5 java regex web-services java-ee

我正在构建一些静态分析工具来帮助管理大型项目的体系结构.为此,我正在做几个正则表达式来解析Java文件中的信息.其中一个正则表达式用于扫描@WebService(...)注释.

我想知道是否存在@WebService注释中有括号的情况(包括开头和结尾处的括号,以及字符串文字或注释中的任何一个).所以那些人

@WebService(serviceName="bla()" /* bla() */); 
Run Code Online (Sandbox Code Playgroud)

好的 而那些人

@WebService( ... ( ... ) ...); 
Run Code Online (Sandbox Code Playgroud)

不是.

后者会发生吗?

kap*_*pex 1

是的,即使在字符串文字之外也可以有括号。

一般来说,注释可以将常量表达式作为参数,其计算结果为原语、字符串、类、枚举、注释或数组。字符串文字、注释参数和表达式可以包含括号。以下声明有效:

@WebService(serviceName="bla()" + ("bla") + (2 * 3)); 
Run Code Online (Sandbox Code Playgroud)

注释还可以包含带括号的注释:

@WebService(serviceName="bla()" /* ( ) */); 

@WebService( // ( )
   serviceName="bla()"); 
Run Code Online (Sandbox Code Playgroud)