Junior — Middle
Ποιες τυπικές διεπαφές ή προσεγγίσεις για την σειριοποίηση αντικειμένων γνωρίζεις στη Java;
sobes.tech AI
Απάντηση από AI
Στην Java, υπάρχουν διάφορες τυπικές προσεγγίσεις για τη σειριοποίηση αντικειμένων:
-
Διεπαφή
Serializable— ο πιο βασικός τρόπος σειριοποίησης, ενσωματωμένος στη Java. Η κλάση υλοποιεί αυτή τη διεπαφή και τα αντικείμενα μπορούν να σειριοποιηθούν σε ροή byte. -
Διεπαφή
Externalizable— επεκτείνει τοSerializableκαι απαιτεί την υλοποίηση των μεθόδωνwriteExternalκαιreadExternalγια χειροκίνητο έλεγχο της διαδικασίας σειριοποίησης. -
Χρήση βιβλιοθηκών, π.χ., Jackson ή Gson για σειριοποίηση σε JSON.
-
Parcelable (στο Android) — μια εξειδικευμένη διεπαφή για αποδοτική σειριοποίηση αντικειμένων κατά τη μεταφορά μεταξύ Android συστατικών.
Παράδειγμα χρήσης του Serializable:
import java.io.Serializable;
public class User implements Serializable {
private String name;
private int age;
// Κατασκευαστές, getters, setters
}
Για το Android, συχνά χρησιμοποιείται το Parcelable:
import android.os.Parcel;
import android.os.Parcelable;
public class User implements Parcelable {
private String name;
private int age;
protected User(Parcel in) {
name = in.readString();
age = in.readInt();
}
public static final Creator<User> CREATOR = new Creator<User>() {
@Override
public User createFromParcel(Parcel in) {
return new User(in);
}
@Override
public User[] newArray(int size) {
return new User[size];
}
};
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(name);
dest.writeInt(age);
}
}