Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Java > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 26.11.2016, 18:50   #11
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 17,102
Репутация: 3316

icq: 512-765
skype: alexp.frl
По умолчанию

Цитата:
Сообщение от AlexOrlo Посмотреть сообщение
А что вы скажите на счет преписания к оригиналу static ?
А копирование причем тут?


Цитата:
Сообщение от AlexOrlo Посмотреть сообщение
clon_data=original;

Это как то возможно?
в С++ да.
Alex11223 вне форума   Ответить с цитированием
Старый 26.11.2016, 20:12   #12
AlexOrlo
Пользователь
 
Регистрация: 27.10.2016
Сообщений: 26
Репутация: 10
По умолчанию

Извиняюсь, перепутал... Имел в виду final.
То есть по моей логике final нельзя изменить.
И если arraylist можно объявить константой, то при ее копировании, копия не сможет изменить оригинал..
Но почему то мне кажется, что компилятор этого не допустит..
AlexOrlo вне форума   Ответить с цитированием
Старый 26.11.2016, 20:21   #13
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 17,102
Репутация: 3316

icq: 512-765
skype: alexp.frl
По умолчанию

final только переменную с ссылкой сделает неизменяемой, а не объект.
Alex11223 вне форума   Ответить с цитированием
Старый 26.11.2016, 21:36   #14
AlexOrlo
Пользователь
 
Регистрация: 27.10.2016
Сообщений: 26
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
final только переменную с ссылкой сделает неизменяемой, а не объект.
Понятно, спасибо за ответ.
AlexOrlo вне форума   Ответить с цитированием
Старый 27.11.2016, 00:07   #15
AlexOrlo
Пользователь
 
Регистрация: 27.10.2016
Сообщений: 26
Репутация: 10
По умолчанию

Всё равно не получается..
Написал следующий метод:
Код:

public ArrayList<ArrayList<Float>> ClonData()
  {
    ArrayList<ArrayList<Float>> cloned = new ArrayList<ArrayList<Float>>();
    int size = data.size();
    for (int i=0; i<size; i++)
    {
       ArrayList<Float> tmp = (ArrayList<Float>) data.get(i).clone();
        cloned.add(data.get(i));
    }
    return cloned;
    
   }

И всё равно, после изменения копии, оригинал так же меняется.
AlexOrlo вне форума   Ответить с цитированием
Старый 27.11.2016, 00:17   #16
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 17,102
Репутация: 3316

icq: 512-765
skype: alexp.frl
По умолчанию

Дык вы не tmp добавили.

Ну и можно проще
Код:

        ArrayList<ArrayList<Float>> cloned = new ArrayList<ArrayList<Float>>();

        for (ArrayList<Float> item : data) {
            cloned.add(new ArrayList<Float>(item));
        }

Alex11223 вне форума   Ответить с цитированием
Старый 27.11.2016, 00:38   #17
AlexOrlo
Пользователь
 
Регистрация: 27.10.2016
Сообщений: 26
Репутация: 10
По умолчанию

Тьфу блин, Семён Семёныч.
Спасибо болшое, всё работает!
AlexOrlo вне форума   Ответить с цитированием
Старый 04.09.2018, 18:45   #18
EdwardWilson
Новичок
 
Регистрация: 04.09.2018
Сообщений: 1
Репутация: 10
По умолчанию

You can refer below resource on deep cloning..

http://www.flowerbrackets.com/java-clone/
EdwardWilson вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
клонирование одностраничника polinaemma Фриланс 1 11.03.2016 06:23
Qt, клонирование QObject pproger Qt и кроссплатформенное программирование С/С++ 0 28.01.2012 16:02
Клонирование компонента chandrasecar Общие вопросы Delphi 8 31.10.2010 18:57
Клонирование Windows XP DJ HITMAN Windows 6 20.08.2010 13:35
Глубокое копирование Chor Общие вопросы .NET 6 12.06.2009 01:19


04:58.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru