This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
|
java:object_serialization [2017/02/17 13:42] gthanos [Παράδειγμα Deserialization] |
java:object_serialization [2017/02/17 14:05] gthanos [Παράδειγμα Serialization] |
||
|---|---|---|---|
| Line 42: | Line 42: | ||
| Θα επιχειρήσουμε να κάνουμε serialize ένα αντικείμενο της παρακάτω κλάσης Employee. | Θα επιχειρήσουμε να κάνουμε serialize ένα αντικείμενο της παρακάτω κλάσης Employee. | ||
| <code java Employee.java> | <code java Employee.java> | ||
| - | import java.util.*; | + | iimport java.util.*; |
| public class Employee implements java.io.Serializable { | public class Employee implements java.io.Serializable { | ||
| Line 57: | Line 57: | ||
| str+="AMKA: " + AMKA+"\n"; | str+="AMKA: " + AMKA+"\n"; | ||
| str+="Salary: " + salary+"\n"; | str+="Salary: " + salary+"\n"; | ||
| - | str+="Next: " + next.name+"\n"; | + | if(next != null) |
| - | Iterator<Employee> it = list.iterator(); | + | str+="Next: " + next.name+"\n"; |
| - | if( it.hasNext() ) { | + | |
| - | str+="List: "; | + | if( list != null) { |
| - | } | + | Iterator<Employee> it = list.iterator(); |
| - | while( it.hasNext() ) { | + | if( it.hasNext() ) { |
| - | str+= it.next().name+", "; | + | str+="List: "; |
| + | } | ||
| + | while( it.hasNext() ) { | ||
| + | str+= it.next().name+", "; | ||
| + | } | ||
| + | str+="\n"; | ||
| } | } | ||
| - | str+="\n"; | ||
| return str; | return str; | ||
| } | } | ||
| Line 147: | Line 151: | ||
| | | ||
| System.out.println(e); | System.out.println(e); | ||
| - | System.out.println(e1); | + | System.out.println(e1); |
| + | } | ||
| + | } | ||
| + | </code> | ||
| + | |||
| + | <WRAP todo 80% center round> | ||
| + | Στο παραπάνω παράδειγμα δηλώστε τα τελευταία τρία πεδία της κλάσης Employee ως transient, oπως παρακάτω. Μεταγλωττίστε και τρέξτε ξανά τις κλάσεις SerializeDemo και DeserializeDemo. Τι παρατηρείτε; | ||
| + | </WRAP> | ||
| + | |||
| + | <code java Employee.java> | ||
| + | import java.util.*; | ||
| + | |||
| + | public class Employee implements java.io.Serializable { | ||
| + | public String name; | ||
| + | public String address; | ||
| + | public int AMKA; | ||
| + | public transient double salary; | ||
| + | public transient Employee next; | ||
| + | public transient ArrayList<Employee> list; | ||
| + | |||
| + | public String toString() { | ||
| + | String str = "Name: " + name+"\n"; | ||
| + | str+="Address: " + address+"\n"; | ||
| + | str+="AMKA: " + AMKA+"\n"; | ||
| + | str+="Salary: " + salary+"\n"; | ||
| + | if(next != null) | ||
| + | str+="Next: " + next.name+"\n"; | ||
| | | ||
| + | if( list != null) { | ||
| + | Iterator<Employee> it = list.iterator(); | ||
| + | if( it.hasNext() ) { | ||
| + | str+="List: "; | ||
| + | } | ||
| + | while( it.hasNext() ) { | ||
| + | str+= it.next().name+", "; | ||
| + | } | ||
| + | str+="\n"; | ||
| + | } | ||
| + | return str; | ||
| } | } | ||
| } | } | ||
| </code> | </code> | ||
| + | |||
| + | |||