|
|
|
Test передача параметров
|
|||
|---|---|---|---|
|
#18+
Ответьте на вопрос: какие из следующих параметров, после передачи их в соответствующие методы ниже, будут изменены после их завершения в вызывающем коде. Код: java 1. 2. 3. 4. Код: java 1. 2. 3. Код: java 1. 2. 3. Код: java 1. 2. 3. Код: java 1. 2. 3. Думаю, новичкам будет интересно разобрать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2017, 02:47 |
|
||
|
Test передача параметров
|
|||
|---|---|---|---|
|
#18+
Что тут может быть интересного? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2017, 14:29 |
|
||
|
Test передача параметров
|
|||
|---|---|---|---|
|
#18+
В принципе все просто, примитивы передаются по значению, объекты по значению ссылки. Но оболочки типов и строки - тоже объекты, и вроде бы их внутренне состояние можно поменять, но по факту нет, так как они не изменяемые (При их изменении создаются новые ссылки). Я когда начинал Java изучать слышал только про примитивы и объекты. Вот и подумал, что для новичков будет интересно. Мало ли кто то захочет написать, например, такой код: void inc(Integer arg){ arg ++; } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2017, 14:55 |
|
||
|
Test передача параметров
|
|||
|---|---|---|---|
|
#18+
Тогда держи немного магии: Код: java 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2017, 16:06 |
|
||
|
Test передача параметров
|
|||
|---|---|---|---|
|
#18+
Посмотрел пример - интересно, все числа из диапазона типа byte при упаковке получают одну и ту же ссылку. Ушел копать ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2017, 16:23 |
|
||
|
Test передача параметров
|
|||
|---|---|---|---|
|
#18+
При боксинге вызывается следующий метод: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Поэтому фактически получается одна и та же ссылка. При любых операциях над числами происходит дебоксинг, операция, боксинг - при котором получается новая ссылка. Именно поэтому изменять объект по ссылке не получается, просто создается каждый раз новый объект. То же касается и операций над строками (точнее операции - конкатенации). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2017, 16:43 |
|
||
|
Test передача параметров
|
|||
|---|---|---|---|
|
#18+
Вроде накопал, куски из сорцов класса Integer: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. и Код: java 1. 2. 3. 4. 5. 6. 7. Получается, что при создании переменной типа Integer для значений от -128 до 127 значения берутся из кэша. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2017, 16:46 |
|
||
|
Test передача параметров
|
|||
|---|---|---|---|
|
#18+
Код: java 1. 2. 3. 4. 5. 6. 7. Это какая-то старая ява ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2017, 16:47 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=63&tid=2122720]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 194ms |
| total: | 308ms |

| 0 / 0 |
