- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
public class ValueList< T > implements Cloneable
{
public ValueList() { }
public void addValue( final T value ) {
list.add( value );
}
@Override
@SuppressWarnings( { "unchecked", "unchecked" } )
public Object clone() throws CloneNotSupportedException {
super.clone();
ValueList< T > object = new ValueList< T >();
List< T > objectList = object.getList();
objectList = ( List< T > )list.clone();
for( int index = 0; index < list.size() ; ++index ) {
objectList.set( index, ( Object )list.get( index ).clone() );
}
return object;
}
public List< T > getList() {
return list;
}
private ArrayList< T > list = new ArrayList< T >();
}
мда
А вообще вместо копирования объекта в джаве "копируется" ссылка.
class T
{
public T(T source) { }
}
?
если тело конструктора корректное, да.
Но функцию копирования объекта он выполняет - выполняет. Пусть у него и нет неявного вызова.
но в ней не особо много смысла
Я несколько раз напарывался на порчу своего объекта во время выполнения. Просто забыл сделать его копию и не заметил этой ошибки, пока не запустил программу... В результате потратил лишних пол часа на ненужную отладку...