- 封装的接口:
-
ObjectInputFilter
public static interface ObjectInputFilter.FilterInfo
FilterInfo提供了关于当前正在反序列化的对象以及
ObjectInputStream
状态的信息访问。
- 自JDK版本:
- 9
-
Method Details
-
serialClass
Class<?> serialClass()正在反序列化的对象的类。对于数组,它是数组类型。例如,字符串的二维数组的数组类名是"[[Ljava.lang.String;
"。要检查数组的元素类型,可以迭代使用Class.getComponentType
,直到结果是数组,然后检查类。在不创建新对象的情况下,serialClass为null
,以便让过滤器有机会检查深度、现有对象的引用数量和流大小。- 返回值:
- 正在反序列化的对象的类;可能为null
-
arrayLength
long arrayLength()反序列化数组时的数组元素数量。- 返回值:
- 反序列化数组时的非负数组元素数量,否则为-1
-
depth
long depth()当前深度。深度从1
开始,每个嵌套对象增加一次,每个嵌套对象返回时递减。- 返回值:
- 当前深度
-
references
long references()当前对象引用的数量。- 返回值:
- 当前对象引用的非负数量
-
streamBytes
long streamBytes()当前消耗的字节数。- 实现要求:
-
streamBytes
是特定于实现的,可能与导致回调的流中的对象没有直接关联。 - 返回值:
- 当前消耗的非负字节数
-