2014-11-22 73 views
0

我定義的數組如下:Java變量定義模式

int[][] temp_blocks = new int[dim][dim]; 

但我得到了一個警告:

Name 'temp_blocks' must match pattern `^[a-z][a-zA-Z0-9]*$|^[A-Z][A-Z_0-9]*$`. 

任何想法,爲什麼它是,如何解決?

+0

看起來你的編譯器不喜歡下劃線。 – 2014-11-23 04:38:58

+0

@YuvalFilmus如果是這樣的話,那麼編譯器就會出錯。 [Java允許在變量名中使用下劃線](https://docs.oracle.com/javase/tutorial/java/nutsandbolts/variables.html)。 – 2014-11-23 11:35:15

+0

對於正則表達式,它只允許在ALL_CAPS變量(也可以包含數字)中使用下劃線。 – 2014-11-23 15:40:08

回答

1

編譯器告訴你變量的名稱必須與正則表達式^[a-z][a-zA-Z0-9]*$|^[A-Z][A-Z_0-9]*$匹配。此正則表達式指出有兩種類型的變量名稱:

  1. 變量以小寫字母開頭。這些可以包含小寫字母,大寫字母和數字。

  2. 以大寫字母開頭的變量。這些可以包含大寫字母,數字和下劃線。

變量名稱temp_blocks不符合這些條件,因爲它以小寫字母開頭,但包含下劃線。

+0

很好的解釋, 只是搜索變量名稱約定, 變量名稱以小寫字母開頭。名稱中任何後續單詞的首字母大寫,下劃線不用於分隔單詞(或範圍變量)。 http://www.iwombat.com/standards/JavaStyleGuide.html#Attribute%20and%20Local%20Variable%20Names – 2014-11-23 16:41:24