2012-10-30 65 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"; 

常數通常使用大寫字母,但因爲你的變量是不是一成不變的,它不會被解釋爲一個常數。