Ok ho capito bene la risposta del punto3, hai ragione al punto 2 perchè ho scritto compilatore per sbaglio ma intendevo la versione della JVM, pero' per il punto 1 se io ho una classe che ha oggetti non serializzabili non mi genera l'uid nè con eclipse ne usando il tool serialver, ma tu dici al punto tre che se li dichiaro transient lo dovrebbe generare?? no perchè io faccio emigrare del codice che istanzio su una macchina, su altre macchine che potrebbero avere JVM diverse quindi a quanto ho capito servirebbe generare il serialUID no??


Originariamente inviato da LeleFT
1) Il SerialVersionUID viene sempre autogenerato dalla JVM. Serve solo a capire se una determinata classe che viene serializzata sia compatibile o meno con la versione della JVM che tenta di eseguirla.

2) Non esistono "diversi compilatori": il compilatore per Java è uno ed unico, si chiama javac e viene utilizzato da qualsiasi editor (NetBeans, Eclipse, BlueJ, ecc).

3) Solo le classi serializzabili possono essere serializzate. Esse devono prevedere un costruttore di default (vuoto) e qualsiasi campo che al loro interno non sia serializzabile deve essere dichiarato come "transient".


Ciao.