![]() |
Передача параметров из функций
Добрый день помогите начинающему Java програмисту.
Код:
public class func { |
Цитата:
Пару минут в гугле Цитата:
|
Проводим следственный експеримент, заменяем оператор присваения, на вызов метода:
- str="zzzz"; + str.concat("zzzz"); результат вывода не меняется. |
Цитата:
|
Ну так сделайте функцию
private static String getText(String str){ return "zzzzz"; } |
Для ferget:
Смысл експеримента, доказать несостоятельность вашего утверждения в прошлом посту: > 2. В метод передается КОПИЯ, — для объекта — копия ссылки, т.о. мы можем изменять состяние объекта через его методы, т.к. копия ссылки указывает на тот же объект.... str.concat("zzzz"); мы меняем обьект через его метод, и все равно обьект не меняется. Для BlackEric: НЕМОГУ, потому как мне необходимо возвращать более одного значения типа стринг (5-6 примерно), просто решил не нагружать форум огромным куском реального кода, а отразить существующую проблему на более простом примере. |
Читайте полностью
Цитата:
|
Для ferget:
>но не можем изменить значение оригинальнойссылки(т.к. в методе всего лишь ее копия), т.е. "подменить объект" str.concat("zzzz"); не меняет значение оригинальной ссылки, и не подменяет обьект, а именно как написанно: "изменяет состояние объекта через его методы" И конечно я пользовался гуглом, и находил запощеные вами тут цитаты, и собственно вопрос на форуме я задал дабы уяснить: почему поведение реальной ява машины отличается от того что написано. Скажу больше: ради проверки написал свой обьект у которого всего одно поле типа стринг, и один метод который его меняет, так вот если передавать в функцию такой обьект, то его поведение абсолютно соответствует написанному вами. А вот обьект типа String почемуто ведет себя не так, и хотелось бы узнать почему, и можно ли это както обойти эффективно а не создавая какието псевдотипы. |
Тогда нужно возвращать список или класс
|
Время: 12:55. |
Время: 12:55.
© OSzone.net 2001-