new String[] { "foo", "bar" }.clone();
Con il mio IDE preferito (ad esempio Eclipse), ho voluto vedere il codice sorgente del metodo di cui sopra clone()
da Ctrl-clic su di essa (come al solito), ma mi ha portato a un nativo 's il Object
, che fornisce solo la firma e non il corpo del metodo.Alla ricerca del codice sorgente: dove è implementato il metodo clone() degli array?
Il completamento automatico mi ha detto che il suddetto metodo di clone()
apparteneva alla classe String
(clone() : String[] - String
), ma il codice sorgente della classe String
non fornisce tale metodo (da quando ho a che fare con la classe String[]
...).
Quindi, dove si nasconde questa implementazione? Dovrebbe essere risolto il completamento automatico?
si chiedono clone su un array, non su una stringa. – assylias
'clone' è un metodo' nativo' di 'java.lang.Object', funziona su tutti gli oggetti. Divulgazione obbligatoria: [clone è rotto] (http://www.artima.com/intv/bloch13.html). – dasblinkenlight
Inoltre, fare riferimento al collegamento http://stackoverflow.com/questions/6825982/how-does-clone-work-under-the-hood – user1428716