Здравствуйте, Аноним, Вы писали: А>Какой предпочтительный код? А>
MyObject myObject=new MyObject();
Причем если во время написания этой строчки нет стопроцентной уверенности, что ниже по коду myObject будет изменяться, то лучше сразу писать:
final MyObject myObject=new MyObject();
И вообще принять final за правило. Меньше будет шансов, что переменную случайно изменят в результате какой-нибудь случайной опечатки. Лишняя страховка никогда не помешает, а убрать final в случае чего современные IDE позволяют не елозя по коду нажатием пары клавиш.
PS
...и даже если стопроцентная уверенность есть (например значение myObject считается итерационно), то стоит на секунду тормознуть и задуматься — возможно имеет смысл вынести такую сложную инициализацию в отдельный private-метод, чтобы код стал нагляднее и устойчивее к будущим косякам.
Ку...
создание объектов в Java
От:
Аноним
Дата:
10.04.14 23:23
Оценка:
Какой предпочтительный код?
MyObject myObject= null;
myObject= new MyObject();
(упростил некоторые моменты, суть такая). Тут это имеет смысл, чтобы не писать много try-finally, а обработать всё в одном месте. Но это еще до 7 java имело смысл, сейчас всё стало попроще.
Здравствуйте, Аноним, Вы писали:
А>Какой предпочтительный код? А>
А>MyObject myObject= null;
А>myObject= new MyObject();
А>
А>Или создание объекта сразу ? А>
А>MyObject myObject=new MyObject();
А>
При прочих равных предпочительнее тот, который следует coding convention и содержит меньше синтаксического шума.
Почему такой вариант не предложен?
MyObject obj;
obj = new MyObject();
Re[2]: создание объектов в Java
От:
Аноним
Дата:
11.04.14 06:47
Оценка:
Здравствуйте, Blazkowicz, Вы писали:
помоему в методе надо бы писать сразу
MyObject myObject=new MyObject();
без сточки MyObject myObject= null;
и сразу во-второй строке кода myObject= new MyObject();
B>Здравствуйте, Аноним, Вы писали:
А>>Какой предпочтительный код? А>>
А>>MyObject myObject= null;
А>>myObject= new MyObject();
А>>
А>>Или создание объекта сразу ? А>>
А>>MyObject myObject=new MyObject();
А>>
B>При прочих равных предпочительнее тот, который следует coding convention и содержит меньше синтаксического шума.
B>Почему такой вариант не предложен? B>
Здравствуйте, Аноним, Вы писали:
А>помоему в методе надо бы писать сразу А>MyObject myObject = new MyObject(); А>без сточки MyObject myObject = null; А>и сразу во-второй строке кода myObject = new MyObject();
В каком методе и почему "надо бы"? И научитесь таки пробелы расставлять.
Re: создание объектов в Java
От:
Аноним
Дата:
11.04.14 07:38
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Какой предпочтительный код? А>
А>MyObject myObject= null;
А>myObject= new MyObject();
А>
А>Или создание объекта сразу ? А>
А>MyObject myObject=new MyObject();
А>
final MyObject myObject = new MyObject();
Re: создание объектов в Java
От:
Аноним
Дата:
11.04.14 07:44
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Какой предпочтительный код? А>
А>MyObject myObject= null;
А>myObject= new MyObject();
А>
А>Или создание объекта сразу ? А>
А>MyObject myObject=new MyObject();
А>
Конечно, второй вариант правильный. На первый вариант вы еще и предупреждение от IDE получите, что присвоенное значение не используется.
Re: создание объектов в Java
От:
Аноним
Дата:
14.04.14 09:40
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Какой предпочтительный код? А>
А>MyObject myObject= null;
А>myObject= new MyObject();
А>
А>Или создание объекта сразу ? А>
А>MyObject myObject=new MyObject();
А>
Писать ... = null не нужно в большинстве случаев, ибо любые объекты по умолчанию равны null если им не присвоить другое значение. В остальном — оба способа нормальные и применимые, в зависимости от контекста
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Аноним, Вы писали:
А>>Какой предпочтительный код? А>>
А>>MyObject myObject= null;
А>>myObject= new MyObject();
А>>
А>>Или создание объекта сразу ? А>>
А>>MyObject myObject=new MyObject();
А>>
А>Писать ... = null не нужно в большинстве случаев, ибо любые объекты по умолчанию равны null если им не присвоить другое значение. В остальном — оба способа нормальные и применимые, в зависимости от контекста
Присвоение null идет автоматом только для переменных класса, но ни как не для локальных переменных. А присваивать null надо, если ты ожидаешь, что оно будет нулем где то. Если нет, то лучше сразу присвоить значение и добавить финал, либо не присваивать, тогда при компиляции ты получишь ошибку, там, где ты читаешь значение переменной.