Инициализация нескольких переменных для одного и того же значения в 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
Я не думаю, что возможно, вы должны установить все значения индивидуально (например, первый пример, который вы предоставили).
Второй пример, который вы дали, будет инициализировать последнюю переменную только "", а не другие.