|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Java - Передача параметров из функций |
|
Java - Передача параметров из функций
|
Пользователь Сообщения: 52 |
Добрый день помогите начинающему Java програмисту.
Результат исполнения программы вывод aaaa а очень бы хотелось zzzz, ведь в яве все передается по ссылке, так почему же не работает? |
|
Отправлено: 17:21, 24-01-2013 |
Разный Сообщения: 1294
|
Профиль | Отправить PM | Цитировать Цитата thebas:
Пару минут в гугле Цитата:
|
||
Отправлено: 18:07, 24-01-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 52
|
Профиль | Отправить PM | Цитировать Проводим следственный експеримент, заменяем оператор присваения, на вызов метода:
- str="zzzz"; + str.concat("zzzz"); результат вывода не меняется. |
Отправлено: 12:01, 25-01-2013 | #3 |
Разный Сообщения: 1294
|
Профиль | Отправить PM | Цитировать Цитата thebas:
|
|
Отправлено: 20:08, 25-01-2013 | #4 |
Старожил Сообщения: 435
|
Профиль | Отправить PM | Цитировать Ну так сделайте функцию
private static String getText(String str){ return "zzzzz"; } |
|
------- Отправлено: 20:24, 27-01-2013 | #5 |
Пользователь Сообщения: 52
|
Профиль | Отправить PM | Цитировать Для ferget:
Смысл експеримента, доказать несостоятельность вашего утверждения в прошлом посту: > 2. В метод передается КОПИЯ, — для объекта — копия ссылки, т.о. мы можем изменять состяние объекта через его методы, т.к. копия ссылки указывает на тот же объект.... str.concat("zzzz"); мы меняем обьект через его метод, и все равно обьект не меняется. Для BlackEric: НЕМОГУ, потому как мне необходимо возвращать более одного значения типа стринг (5-6 примерно), просто решил не нагружать форум огромным куском реального кода, а отразить существующую проблему на более простом примере. |
Отправлено: 12:57, 28-01-2013 | #6 |
Разный Сообщения: 1294
|
Профиль | Отправить PM | Цитировать Читайте полностью
Цитата:
|
|
Отправлено: 15:13, 28-01-2013 | #7 |
Пользователь Сообщения: 52
|
Профиль | Отправить PM | Цитировать Для ferget:
>но не можем изменить значение оригинальнойссылки(т.к. в методе всего лишь ее копия), т.е. "подменить объект" str.concat("zzzz"); не меняет значение оригинальной ссылки, и не подменяет обьект, а именно как написанно: "изменяет состояние объекта через его методы" И конечно я пользовался гуглом, и находил запощеные вами тут цитаты, и собственно вопрос на форуме я задал дабы уяснить: почему поведение реальной ява машины отличается от того что написано. Скажу больше: ради проверки написал свой обьект у которого всего одно поле типа стринг, и один метод который его меняет, так вот если передавать в функцию такой обьект, то его поведение абсолютно соответствует написанному вами. А вот обьект типа String почемуто ведет себя не так, и хотелось бы узнать почему, и можно ли это както обойти эффективно а не создавая какието псевдотипы. |
Отправлено: 12:09, 29-01-2013 | #8 |
Старожил Сообщения: 435
|
Профиль | Отправить PM | Цитировать Тогда нужно возвращать список или класс
|
------- Отправлено: 16:31, 29-01-2013 | #9 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
PowerShell - [решено] Замена строк из файла строками из файла в файле | bcubbs@fb | Скриптовые языки администрирования Windows | 6 | 24-01-2013 17:22 | |
Передача параметров в адресную строку | DaRiYs | Вебмастеру | 4 | 27-06-2008 01:52 | |
C/C++ | Передача параметров через консоль | Mad Mouse | Программирование и базы данных | 4 | 09-03-2006 16:34 | |
передача параметров в коммандной строке | netcat | Хочу все знать | 4 | 29-04-2005 00:30 | |
передача параметров для SSI | Vlad Drakula | Вебмастеру | 3 | 30-05-2003 16:50 |
|