|
|
|
Объявление переменной String
|
|||
|---|---|---|---|
|
#18+
Всем добрый день. Я новичек в java и вот при решении очередной задачки возник вопрос у меня. Сильно не ругайте, если уж вопрос соовсем выходит за рамки. Вот есть два варинта чтения строк в цикле. В первом варинте я переменную String aString[] объявляю перед циклом, а во втором в цикле. Скажите есть ли разница в этих двух примерах и если есть, то как правильнее делать и к чему может привести не правильное объявление? Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2012, 18:49:45 |
|
||
|
Объявление переменной String
|
|||
|---|---|---|---|
|
#18+
Чем меньше область видимости (scope) переменной, тем лучше. Меньше вероятность ошибки связаной с тем что переменная поменяла своё значение где-то ещё. Проще читать, так как не нужно искать а где же ещё могла использоваться эта переменная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2012, 19:03:51 |
|
||
|
Объявление переменной String
|
|||
|---|---|---|---|
|
#18+
BlazkowiczЧем меньше область видимости (scope) переменной, тем лучше. Меньше вероятность ошибки связаной с тем что переменная поменяла своё значение где-то ещё. Проще читать, так как не нужно искать а где же ещё могла использоваться эта переменная. т.е в данном случае лучше испльзовать второй вариант я так полагаю, что бы не думать, что эта переменная еще принимала ранее какое-то значение......а при прохождении следующего шага в цикле объект String aString[] уничтожается и создается новый, а в первом примере не уничтожается а перезаписывается, да?....спасибо за ответ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2012, 01:09:50 |
|
||
|
Объявление переменной String
|
|||
|---|---|---|---|
|
#18+
m.giskoа при прохождении следующего шага в цикле объект String aString[] уничтожается и создается новый, а в первом примере не уничтожается а перезаписывается, да? Нет. Во первых, терминология: String aString[] это не объект, а локальная переменная. Она при исполнении создается один раз при вызове метода, неважно, описана она внутри цикла или нет. Если же говорить об объекте, на который ссылается эта переменная , то этот объект в обоих случаях создается каждый раз заново в вызове pat.split(sBufline). Старый объект не перезаписывается, а просто теряется, и его память будет переиспользована после сборки мусора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2012, 08:16:54 |
|
||
|
|

start [/forum/topic.php?fid=59&tid=2131963]: |
0ms |
get settings: |
17ms |
get forum list: |
22ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
84ms |
get topic data: |
14ms |
get forum data: |
4ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
| others: | 331ms |
| total: | 543ms |

| 0 / 0 |
