Fonction :
Lors de la sérialisation des données, si vous ne souhaitez pas sérialiser l'un des attributs dans un fichier, vous devez utiliser la modification transitoire, indiquant que l'attribut est un attribut temporaire
Tutoriel vidéo Java associé : Tutoriel vidéo gratuit Java
Ceci est une classe d'étudiant :
public class Student implements Serializable {//注意:要想序列化,必须实现Serializable接口 private String name; private Integer age; private transient String address; //使用transient修饰 public Student() { } public Student(String name, Integer age, String address) { this.name = name; this.age = age; this.address = address; } //Getter/Setter }
Lorsque je sérialise, je ne prévois pas de sauvegarder l'attribut d'adresse de l'élève. Je souhaite uniquement sauvegarder les attributs de nom et d'âge. Je modifie l'attribut d'adresse avec le mot-clé transient et le sérialise comme suit :
public class TestStudent { public static void main(String[] args) throws IOException { List<Student> list = new ArrayList<>(); Student s1 = new Student("Jack", 20, "北京"); Student s2 = new Student("Rose", 21, "上海"); Student s3 = new Student("Hoke", 22, "深圳"); Student s4 = new Student("Mark", 23, "天津"); Student s5 = new Student("Json", 24, "成都"); list.add(s1); list.add(s2); list.add(s3); list.add(s4); list.add(s5); //将学生信息序列化到student.txt文件中 File file = new File("student.txt"); ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(file)); oos.writeObject(list); } }
. Procédez comme suit Désérialisez et vérifiez le rôle du transitoire :
@Test public void test() throws IOException, ClassNotFoundException { ObjectInputStream ois = new ObjectInputStream(new FileInputStream(new File("student.txt"))); Object object = ois.readObject(); if (object instanceof List) { List<Student> list = (List<Student>) object; list.forEach(System.out::println); } }
Résultat :
Vous pouvez voir que la valeur de l'attribut d'adresse dans le résultat de sortie est nul. La valeur n'est pas sérialisée ;
Tutoriels d'articles liés à Java : Introduction à base zéro de Java
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!