abstract void put(String name, int val) abstract void put(String name, float val) abstract void put(String name, long val) 描述 该java.io.ObjectOutputStream.PutField.put(String name, int val)方法把指定的int字段的值置于持久字段中。 声明 以下是java.io.ObjectOutputStream.PutField.put()方法的声明。 public abstract void put(String name, int val) 参数 name - 可序列化字段的名称。 val - 要分配给字段的值。 返回值 此方法不返回值。 异常 IllegalArgumentException - 如果name与正在写入其字段的类的可序列化字段的名称不匹配,或者指定字段的类型不是int。 实例 以下示例显示了java.io.ObjectOutputStream.PutField.put()方法的用法。 package com.tutorialspoint; import java.io.*; public class ObjectOutputStreamDemo implements Serializable { public static void main(String[] args) { try { // create a new file with an ObjectOutputStream FileOutputStream out = new FileOutputStream("test.txt"); ObjectOutputStream oout = new ObjectOutputStream(out); // write something in the file oout.writeObject(new Example()); oout.flush(); oout.close(); // create an ObjectInputStream for the file we created before ObjectInputStream ois = new ObjectInputStream(new FileInputStream("test.txt")); // read an object from the stream and cast it to Example Example a = (Example) ois.readObject(); // print var of a System.out.println("" + a.var); } catch (Exception ex) { ex.printStackTrace(); } } static public class Example implements Serializable { static int var = 76458; // assign a new serialPersistentFields private static final ObjectStreamField[] serialPersistentFields = { new ObjectStreamField("var", Integer.TYPE) }; private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException { // get the field and assign it at var ObjectInputStream.GetField fields = in.readFields(); // get var var = fields.get("var", 0); } private void writeObject(ObjectOutputStream out) throws IOException { // write into the ObjectStreamField array the variable var ObjectOutputStream.PutField fields = out.putFields(); fields.put("var", var); out.writeFields(); } } } 让我们编译并运行上面的程序,这将产生以下结果 76458 abstract void put(String name, float val) abstract void put(String name, long val)