enableResolveObject()
方法enableResolveObject()方法在java.io包中可用。
enableResolveObject()方法用于启用ObjectInputStream以允许替换从流中读取的对象。当将布尔变量设置为true并安装SecurityManager时,它将首先使用SecurityManager的checkPermission()
SerializablePermission(“ enableSubstitution”)调用该方法,以确保已准备好激活此ObjectInputStream以允许从流ObjectInputStream中读取的对象被替换。
enableResolveObject()方法是一种非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。
enableResolveObject()方法在检查要替换的对象状态时可能会引发异常。
SecurityException:checkPermission()
当SecurityManager存在时,如果其方法不允许启用流以允许从流读取的对象被替换,则可能抛出此异常。
语法:
public boolean enableResolveObject(boolean status);
参数:
布尔状态-如果将其设置为true,则意味着允许resolveObject()
对每个要反序列化的对象使用。
返回值:
该方法的返回类型为boolean,它在调用此方法之前获取旧设置。
示例
//Java程序演示示例 //defaultReadObject()方法 //ObjectInputStream的 import java.io.*; public class DefaultReadObject { public static void main(String[] args) throws Exception { //实例化ObjectOutputStream,ObjectInputStream- //FileInputStream和FileOutputStream- FileOutputStream file_out_stm = new FileOutputStream("D:\\includehelp.txt"); ObjectOutputStream obj_out_stm = new ObjectOutputStream(file_out_stm); FileInputStream file_in_stm = new FileInputStream("D:\\includehelp.txt"); ObjectInputStream obj_in_stm = new ObjectInputStream(file_in_stm); //通过使用writeObject()方法是 //将对象写入序列化类 obj_out_stm.writeObject(new DefaultObjectClass()); obj_out_stm.flush(); //通过使用readObject()方法是 //从序列化类中读取一个对象 DefaultObjectClass def_obj = (DefaultObjectClass) obj_in_stm.readObject(); //同时使用readObject和defaultReadObject(); System.out.println("obj_in_stm.defaultReadObject(): " + def_obj.str); System.out.println("obj_in_stm.defaultReadObject(): " + def_obj.in); } static class DefaultObjectClass implements Serializable { String str = "Java Programming"; Integer in = new Integer(10); private void readObject(ObjectInputStream obj_stm) throws IOException, ClassNotFoundException { //通过使用defaultReadObject()方法是 //读取当前的非静态字段 //ObjectInputStream中的类 obj_stm.defaultReadObject(); } } }
输出结果
enableResolveObject invoked resoveObject: Java
本文向大家介绍Java toRadians ()方法与示例,包括了Java toRadians ()方法与示例的使用技巧和注意事项,需要的朋友参考一下 java.lang.Math.toRadians(double angdeg)将以度为单位的角度转换为以弧度为单位的近似等效角度。从度到弧度的转换通常是不精确的。 示例 在此,角度法是角度,以度为单位。现在让我们看一个例子- 输出结果 示例 让我们
本文向大家介绍Java Random setSeed()方法与示例,包括了Java Random setSeed()方法与示例的使用技巧和注意事项,需要的朋友参考一下 Random 类法 setSeed()方法在java.util包中可用。 setSeed()方法用于设置此随机数生成器的给定种子。 setSeed()方法是一种非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错
本文向大家介绍Java Random nextLong()方法与示例,包括了Java Random nextLong()方法与示例的使用技巧和注意事项,需要的朋友参考一下 Random 类法 nextLong()方法在java.util包中可用。 nextLong()方法用于从此随机值生成器生成下一个伪随机分布的long值。 nextLong()方法是一个非静态方法,只能通过类对象访问,如果尝试使
本文向大家介绍Java Random nextInt()方法与示例,包括了Java Random nextInt()方法与示例的使用技巧和注意事项,需要的朋友参考一下 Random Class nextInt ()方法 语法: nextInt()方法在java.util包中可用。 nextInt()方法用于从此随机值生成器返回下一个伪随机值。 nextInt(int num)方法用于从此随机数生成
本文向大家介绍Java Random nextGaussian()方法与示例,包括了Java Random nextGaussian()方法与示例的使用技巧和注意事项,需要的朋友参考一下 Random 类法 nextGaussian()方法在java.util包中可用。 nextGaussian()方法用于从该随机值生成器生成平均值为0.0,标准差为1.0的下一个伪随机高斯双精度值。 nextGa
本文向大家介绍Java Random nextFloat()方法与示例,包括了Java Random nextFloat()方法与示例的使用技巧和注意事项,需要的朋友参考一下 Random 类法 nextFloat()方法在java.util包中可用。 nextFloat()方法用于从该随机值生成器生成介于0.0和1.0之间的下一个伪随机浮点值。 nextFloat()方法是一个非静态方法,仅可通
本文向大家介绍Java Random nextDouble()方法与示例,包括了Java Random nextDouble()方法与示例的使用技巧和注意事项,需要的朋友参考一下 Random 类法 nextDouble()方法在java.util包中可用。 nextDouble()方法用于从此随机值生成器生成介于0.0和1.0之间的下一个伪随机双精度值。 nextDouble()方法是一种非静态
本文向大家介绍Java Random nextBytes()方法与示例,包括了Java Random nextBytes()方法与示例的使用技巧和注意事项,需要的朋友参考一下 Random 类法 nextBytes()方法在java.util包中可用。 nextBytes()方法用于随机生成下一个字节,并将其放入给定的用户定义数组(by)中。 nextBytes()方法是一种非静态方法,只能通过类