11.03.2014 / 21:23 | |
Salat-Cx65 Пользователь Сейчас: Offline
Имя: Сергей Откуда: Кременчуг Регистрация: 23.03.2010
| usb_device, Это только ДАЕТ ЗНАТЬ жвм о том что на обьект больше не ссылается никто, и ВОЗМОЖНО в ближайшем будущем он будет удален из памяти
|
11.03.2014 / 21:26 | |
Salat-Cx65 Пользователь Сейчас: Offline
Имя: Сергей Откуда: Кременчуг Регистрация: 23.03.2010
| usb_device (11.03.2014/20:45) Salat-Cx65, ну у меня как раз таки было присваивание, обьект методом clone() я не копировал, если ты об этом.Не, смотри: Class1 cls1= new Class1(); Class2 cls2 = cls1; cls1 == cls2; -------- Class1 cls1= new Class1(); Class2 cls2 = cls1; cls1 = new Class1(); cls1! = cls2;
|
11.03.2014 / 22:13 | |
usb_device Пользователь Сейчас: Offline
Имя: Денис Откуда: USB Регистрация: 07.01.2013
| Salat-Cx65, ну это я уже понял) Кстати можно ли копировать массивы таким образом: array = new int[5][5]; array=array2.clone(). Таким образом, чистый array станет таким же как и array2?
|
11.03.2014 / 22:47 | |
usb_device Пользователь Сейчас: Offline
Имя: Денис Откуда: USB Регистрация: 07.01.2013
| Уже разобрался, клонировать можно только одномерные, если клонировать двухмерный, то вместо копирования, в копируемый массив передаются ссылки на ячейки исходного массива. Вот пример. array[0][0]=5; arrayClone=array.clone(); arrayClone[0][0]=4; System.out.println("array "+array[0][0]); Выведет 4, хотя логично было бы 5.
|
11.03.2014 / 22:50 | |
aNNiMON Супервизор Сейчас: Online
Имя: Витёк Регистрация: 11.01.2010
| usb_device, Есть класс Arrays, вот с помощью него можно многомерные клонировать. Также там много полезных функций.
__________________
let live |
11.03.2014 / 22:51 | |
usb_device Пользователь Сейчас: Offline
Имя: Денис Откуда: USB Регистрация: 07.01.2013
| В принципе, для копирования буду использовать метод System.arraycopy. Он уж то не подведет всякими скрытыми ссылками и тд.
|
12.03.2014 / 00:18 | |
usb_device Пользователь Сейчас: Offline
Имя: Денис Откуда: USB Регистрация: 07.01.2013
| можно ли создать массив кистей? Paint[] paint = new Paint[10] вот так позволяет создать, но если в коде попытаться использовать как то так paint[2].setARGB(250,0,200,0) вылетает ошибка, хотя компиляцию проходит. NullPointerException.
|
12.03.2014 / 06:08 | |
samodelkin Пользователь Сейчас: Offline
Имя: Сергей Откуда: Липецк Регистрация: 05.11.2013
| usb_device, скорей всего ошибка происходит при обращении в несуществующему элементу массива, нумерация элементов начинается с 0.
|
12.03.2014 / 06:54 | |
aNNiMON Супервизор Сейчас: Online
Имя: Витёк Регистрация: 11.01.2010
| usb_device, это ты массив только создал, а инициализировать каждый объект кто будет? paint[i] = new Paint();
__________________
let live |
12.03.2014 / 17:50 | |
usb_device Пользователь Сейчас: Offline
Имя: Денис Откуда: USB Регистрация: 07.01.2013
| aNNiMON, вот оно где собака зарыта)
|