Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #30695
| From | Sebastian <news@seyweiler.dyndns.org> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: Recommended way to make shallow copy of array |
| Date | 2015-01-13 23:04 +0100 |
| Organization | albasani.net |
| Message-ID | <m944pq$58h$1@news.albasani.net> (permalink) |
| References | <m93su6$n1u$1@Gaia.teknon.de> |
Am 13.01.2015 20:50, schrieb Volker Borchert: > Given an array of runtime component type T, I want to create a new > array of the same runtime component type referencing the same objects. > The two ways I know to achieve this are Arrays.copyOf() and T[].clone(). > Target VM is Hotspot Client of Sun JDK 1.7.0_72, will move on to Sun > JDK 1.8.0_<then-current> some time not so far in the future. Which > method should I prefer? Any other suggestions? Primary use case are > defensive copies, where T is some immutable type or a primitive. > > TIA > > There are several ways to copy an array : - use the various copyOf and copyOfRange methods of the Arrays class - use System.arraycopy (useful in particular when copying parts of an array) - call its clone method, and do a cast (the simplest style, suitable for a shallow clone) - use a for-loop (verbose) The for-loop, copyOf and System.arraycopy styles clearly have independent storage, a clone of a one-dimensional array has independent storage, but the clone of a multi-dimensional array does not. System.arraycopy seems to have slightly better performance. Arrays.copyOf is easiest to use with dynamic typing. Differences between the various methods are small, however, and might be regarded a micro-optimization. -- Sebastian
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Recommended way to make shallow copy of array v_borchert@despammed.com (Volker Borchert) - 2015-01-13 19:50 +0000
Re: Recommended way to make shallow copy of array Joerg Meier <joergmmeier@arcor.de> - 2015-01-13 22:40 +0100
Re: Recommended way to make shallow copy of array Joerg Meier <joergmmeier@arcor.de> - 2015-01-13 22:44 +0100
Re: Recommended way to make shallow copy of array Sebastian <news@seyweiler.dyndns.org> - 2015-01-13 23:04 +0100
Re: Recommended way to make shallow copy of array Eric Sosman <esosman@comcast-dot-net.invalid> - 2015-01-13 18:00 -0500
Re: Recommended way to make shallow copy of array v_borchert@despammed.com (Volker Borchert) - 2015-01-19 20:15 +0000
csiph-web