2015-03-25 2 views
3

Я понимаю, что для чистого кода требуется, чтобы конечные переменные были ALL_CAPS в Java. Но что, если моя переменная является массивом? Должно быть, это все шапки? Как и в которой один из следующих лучше практика:java final array в нижнем регистре или в верхнем регистре

public static final String[] MY_ARRAY = {"A", "B"}; 
//... 
String str = MY_ARRAY[0]; 

Или

public static final String[] myArray = {"A", "B"}; 
//... 
String str = myArray[0]; 
+1

Я не уверен, что тип переменной будет иметь значение, если бы он был окончательным, я все равно буду использовать MY_ARRAY, чтобы знать, что он был окончательным. –

+0

Это вопрос, основанный прежде всего на мнениях. – ryanyuyu

+2

Вы должны использовать 'myArray', поскольку он не является неизменным (и общедоступным, поэтому он может быть изменен из других классов). – Bubletan

ответ

5

конвенции код Нет Java, что я в курсе, что адвокаты все окончательные переменные должны быть все заглавные буквы. Константы должны быть все шапки, а константами вы обычно ссылаетесь на конечные поля, которые неизменяемы (или намеренно никогда не мутируются).

В этом случае вы используете массив, и, поскольку он публично, он может быть очень мутирован. По этой причине я бы не считал это постоянным, и поэтому пошел с myArray.

Для справки, вот цитата из официальных конвенций Oracle Java Code:

Имена переменных, объявленных констант класса и ANSI констант должны быть в верхнем регистре словами, разделенными символом подчеркивания («_»). (Для облегчения отладки следует избегать констант ANSI).

+0

Большое вам спасибо. Итак, если переменная была 'private', тогда это будет' MY_ARRAY'? –

+1

Если это личное, и вы не мутируете его, тогда да, это будет квалифицироваться как постоянное и подходящее имя во всех шапках. – aioobe

Смежные вопросы