Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere?
Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere?
HONOR Magic V6 è arrivato in Italia a 2.299,90 euro con una promessa precisa: unire 4 mm di spessore da aperto (8,75 mm chiuso nel modello White, 9 mm negli altri colori) a una batteria da 6.660 mAh, la più capiente mai vista su un pieghevole. Lo abbiamo usato per oltre una settimana in versione Red 16/512 GB per capire se lo Snapdragon 8 Elite Gen 5 tiene testa alla concorrenza anche fuori dai benchmark ufficiali
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni
Redmi Pad 2 9.7 punta su un display ampio e fluido, una batteria capace di accompagnare l'uso quotidiano senza ansie da ricarica e un prezzo accessibile, a partire da 179,90 euro per la versione con 64 GB di storage. Lo Snapdragon 6s 4G Gen 2 e i 4 GB di RAM della configurazione più diffusa frenano però chi cerca reattività e multitasking spinto: ecco il bilancio dopo due settimane di prova diretta
Peugeot Polygon Concept: ecco il futuro delle utilitarie
Peugeot Polygon Concept: ecco il futuro delle utilitarie
Polygon è la concept car di Peugeot che mostra il futuro delle soluzioni del segmento B: tra design compatti e innovativi affiancati da dimensioni compatte uno scherzo dalla manovrabilità incredibile per le manovre a bassa velocità
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 25-04-2006, 13:53   #1
maforast
Member
 
Iscritto dal: Aug 2003
Messaggi: 202
[JAVA]HELP Clone()

Salve ragazzi ho un problema devo fare il clone di un oggetto prima di andare a modificare i pesi di una matrice che è definita al suo interno come campo privato.
Presupposto che ho implementato il metodo clone nell'oggetto WeightMatrix con anche il campo privato weight ma il risultato è che dopo l'esecuzione del clone sia l'oggetto originale ke quello clonato mi restituiscono lo stesso valore della matrice weight. Mentre uno dovrebbe restituirmi il vekkio vaolore e il clone il nuovo... In cosa sbaglio?

void changeFibredWeight(float input)
{
for(int k = lastMatrix; k >= 0; k--)
{
WeightMatrix weight=weightMatrixArray[k];
WeightMatrix w=(WeightMatrix)weight.clone();
w.changeFibredWeights(input);
float[][] ss=w.getWeights();
float[][] sss=weight.getWeights();
System.out.println("i pesi nuovi sono "+ss[0][0]);
System.out.println("i pesi vekki sono "+sss[0][0]);

}
}

Grazie
maforast è offline   Rispondi citando il messaggio o parte di esso
Old 26-04-2006, 00:15   #2
Sint
Junior Member
 
Iscritto dal: Apr 2006
Città: Roma
Messaggi: 12
Ad una prima e rapida occhiata mi verrebbe da pensare che clone() non sia implementato nel modo giusto, anche perchè nel resto del codice non vedo problemi.
Sint è offline   Rispondi citando il messaggio o parte di esso
Old 30-04-2006, 19:10   #3
Elyon
Junior Member
 
L'Avatar di Elyon
 
Iscritto dal: Apr 2006
Città: Crotone
Messaggi: 13
Credo anch'io che tu abbia sbagliato a reimplementare il metodo clone() di Java. Sei sicuro di aver fatto nel metodo una copia "profonda" degli oggetti weight, e non una copia dei soli riferimenti?
Elyon è offline   Rispondi citando il messaggio o parte di esso
Old 30-04-2006, 19:14   #4
maforast
Member
 
Iscritto dal: Aug 2003
Messaggi: 202
Quote:
Originariamente inviato da Elyon
Credo anch'io che tu abbia sbagliato a reimplementare il metodo clone() di Java. Sei sicuro di aver fatto nel metodo una copia "profonda" degli oggetti weight, e non una copia dei soli riferimenti?
Ho fatto così
public Object clone()
{
try
{
WeightMatrix cloned=(WeightMatrix)super.clone();
cloned.weight=(float[][])this.weight.clone();
cloned.bias=(float[])this.bias.clone();
return cloned;
}
catch (CloneNotSupportedException e) { return null; }
}


considerando ke i campi privati della classe sono :
float weight[][];
float bias[];
int size;

...
maforast è offline   Rispondi citando il messaggio o parte di esso
Old 30-04-2006, 19:19   #5
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7263
Quote:
Originariamente inviato da maforast
Ho fatto così
public Object clone()
{
try
{
WeightMatrix cloned=(WeightMatrix)super.clone();
cloned.weight=(float[][])this.weight.clone();
cloned.bias=(float[])this.bias.clone();
return cloned;
}
catch (CloneNotSupportedException e) { return null; }
}


considerando ke i campi privati della classe sono :
float weight[][];
float bias[];
int size;

...
se nella matrice ci sono degli oggetti in questo modo copi i riferimenti agli oggetti. dovresti fare un ciclo dove cloni ciascun elemento della matrice
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 30-04-2006, 19:23   #6
Elyon
Junior Member
 
L'Avatar di Elyon
 
Iscritto dal: Apr 2006
Città: Crotone
Messaggi: 13
In questo modo, essendo la matrice un'array di array, e quindi di oggetti, non fai altro che copiare i riferimenti a quei vettori. Dovresti creare una nuova matrice e inserire al suo interno i valori presenti nella vecchia. Solo così fai una copia profonda.
Spero di essere stata utile.
Elyon è offline   Rispondi citando il messaggio o parte di esso
Old 30-04-2006, 19:41   #7
maforast
Member
 
Iscritto dal: Aug 2003
Messaggi: 202
Quote:
Originariamente inviato da Elyon
In questo modo, essendo la matrice un'array di array, e quindi di oggetti, non fai altro che copiare i riferimenti a quei vettori. Dovresti creare una nuova matrice e inserire al suo interno i valori presenti nella vecchia. Solo così fai una copia profonda.
Spero di essere stata utile.

grazie sì sei stata utile in realtà ho risolto creando una matrice weight che mantiene i valori (float) vekki e quelli modificati vanno nella weight originale quindi non ho avuto + bisogno del clone ankè perkè pensavo di aver fatto tutto bene...


grazie
maforast è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere? Recensione HONOR Magic V6: spessore record e sup...
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni Redmi Pad 2 9.7: ampio display, economico e peso...
Peugeot Polygon Concept: ecco il futuro delle utilitarie Peugeot Polygon Concept: ecco il futuro delle ut...
Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione Reno16 Pro: il compatto di OPPO punta su fotocam...
 Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco Hisense 55U7SE: tuttofare e accessibile, il Min...
Il presidente di Sony ha venduto il 56,5...
Nuova vulnerabilità per il kernel...
Fallout Stagione 2: 10 le nomination agl...
IQM porterà il quantum computer L...
2 MB di memoria RAM sono sufficienti per...
Incendio a Bovisa: cosa succede quando u...
AMD lancia 11 nuovi processori tra Ryzen...
IBM tra IA, sovranità digitale e ...
Blocco dei social sotto i 14 anni. A chi...
Nothing Ear (3a): la recensione delle cu...
DENZA BAO 5, il primo SUV del marchio BY...
Addio cavi in auto: Ottocast a IFA con C...
HONOR "Summer Essentials": l'e...
IBM fa la cura dimagrante ai mainframe z...
DENZA Z, la supercar con 3 motori elettr...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 19:30.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v