Инициализация нескольких переменных для одного и того же значения в Java

Я ищу чистый и эффективный метод объявления нескольких переменных одного типа и одного и того же значения. Прямо сейчас у меня есть:

String one = "", two = "", three = "" etc...

Но я ищу что-то вроде:

String one,two,three = ""

Это что-то, что можно сделать в java? Сохранение эффективности.

Ответ 1

String one, two, three;
one = two = three = "";

Это должно работать с неизменяемыми объектами. Это не имеет никакого смысла для изменяемых объектов, например:

Person firstPerson, secondPerson, thirdPerson;
firstPerson = secondPerson = thirdPerson = new Person();

Все переменные указывали бы на один и тот же экземпляр. Вероятно, в этом случае вам понадобится:

Person firstPerson = new Person();
Person secondPerson = new Person();
Person thirdPerson = new Person();

Или еще лучше использовать массив или Collection.

Ответ 2

Вы можете объявить несколько переменных и инициализировать несколько переменных, но не оба одновременно:

 String one,two,three;
 one = two = three = "";

Однако такие вещи (особенно множественные назначения) были бы недовольны большинством разработчиков Java, которые считают это противоположным "визуально простым".

Ответ 3

Нет, это невозможно в java.

Вы можете сделать это. Но старайтесь избегать.

String one, two, three;
one = two = three = "";

Ответ 4

Работает для примитивов и неизменяемых классов, таких как String, Wrapper classes Character, Byte.

int i=0,j=2   
String s1,s2  
s1 = s2 = "java rocks"

Для изменяемых классов

Reference r1 = Reference r2 = Reference r3 = new Object();'  

Созданы три ссылки + один объект. Все ссылки указывают на один и тот же объект, и ваша программа будет плохо себя вести.

Ответ 5

Вы можете сделать это:

String one, two, three = two = one = "";

Но все это укажет на один и тот же экземпляр. Это не вызовет проблем с конечными переменными или примитивными типами. Таким образом, вы можете делать все в одной строке.

Ответ 6

Я не думаю, что возможно, вы должны установить все значения индивидуально (например, первый пример, который вы предоставили).

Второй пример, который вы дали, будет инициализировать последнюю переменную только "", а не другие.