2012-10-30 42 views
5

我想用下面的常数:

final String ADD = "Add text"; 

但我的CheckStyle的工具,告诉我, 'ADD'与模式不匹配'^[a-z][a-zA-Z0-9]*$'.

任何人都可以告诉我'ADD'有什么问题吗? 意思是'^[a-z][a-zA-Z0-9]*$'每个名字都必须以低字符开头? 没有其他的可能吗?

感谢您的回答。

+2

局部变量,类字段和实例字段应该大写camelCase。 ALL_CAPS用于静态决赛。 – ignis

+0

^表示字符串开头,[az]表示a和z之间的一个字符,包括匹配1次(= 1个小写字母),[a-zA-Z0-9] *表示'零个或多个字符在[a -zA-Z0-9]',$是字符串结尾。 – ignis

回答

13
^[a-z][a-zA-Z0-9]*$ 

这个正则表达式描述了一些以小写字母开头,其余部分由大写字母,小写字母和数字组成的东西。 (例如:aVariablevariable,​​,variable7aNewVariable7

如果你想你的领域是恒定的,静态的,用途:

static final String ADD = "Add text"; 

否则,使用:

final String add = "Add text"; 
+0

OP问题的第一行:'我想使用下面的常量'。所以这绝对是一个不变的想法。但是,你解释正则表达式是很好的。 +1。 –

+0

@SimonAndréForsberg确实如此,但它可以在一个方法中定义(尽管我并不清楚)。无论如何,好点。 ;) – Eric

5

如果你想有一个恒定的,也应该是static

static final String ADD = "Add text"; 

常数通常使用大写字母,但因为你的变量是不是一成不变的,它不会被解释为一个常数。