【Java ObjectStreamField类】Serializable类中对Serializable字段的描述。 ObjectStreamFields数组用于声明类的Serializable字段。
java.io.ObjectStreamClass.getField(String name)方法按名称获取此类的字段。
建设者
建设者 | 描述 |
---|---|
ObjectStreamField(字符串名称, Class < ?> 类型) | 它创建具有指定类型的Serializable字段。 |
ObjectStreamField(字符串名称, Class < ?> 类型, 布尔值不共享) | 它创建一个ObjectStreamField, 表示具有给定名称和类型的可序列化字段。 |
修饰符和类型 | 方法 | 描述 |
---|---|---|
int | compareTo(Object obj) | 它将此字段与另一个ObjectStreamField进行比较。 |
String | getName() | 它获取该字段的名称。 |
int | GetOffset() | 实例数据中字段的偏移量。 |
Class< ?> | getType() | 它获取字段的类型。 |
char | getTypeCode() | 它返回字段类型的字符编码。 |
String | getTypeString() | 它返回JVM类型签名。 |
boolean | isPrimitive() | 如果此字段具有原始类型, 则返回true。 |
boolean | isUnshared() | 它返回布尔值, 该布尔值指示此ObjectStreamField实例表示的可序列化字段是否未共享。 |
protected void | setOffset(int offset) | 实例数据中的偏移量。 |
String | toString() | 它返回描述此字段的字符串。 |
返回字段类型的字符编码。编码如下:
B | byte |
C | char |
D | double |
F | float |
I | int |
J | long |
L | 类或接口 |
S | short |
Z | boolean |
[ | array |
可序列化字段的类型代码
例
import java.io.ObjectStreamClass;
import java.util.Calendar;
public class ObjectStreamClassExample {
public static void main(String[] args) {// create a new object stream class for Integers
ObjectStreamClass osc = ObjectStreamClass.lookup(String.class);
// get the value field from ObjectStreamClass for integers
System.out.println("" + osc.getField("value"));
// create a new object stream class for Calendar
ObjectStreamClass osc2 = ObjectStreamClass.lookup(Calendar.class);
// get the Class instance for osc2
System.out.println("" + osc2.getField("isTimeSet"));
}
}
输出:
I value
Z isTimeSet
推荐阅读
- Java OutputStreamWriter
- Java ObjectStreamClass
- Java InputStreamReader
- Java FilterOutputStream类
- 10款Mac的最佳远程桌面应用程序推荐合集(你喜欢使用哪款())
- Windows 11/10如何修复Google Chrome未更新(解决方法)
- Mac的10大最佳PDF管理器推荐合集(哪款最适合你())
- 最实用的硬盘安装ghost win7图文详细教程
- 一键重装windows7 32位图文详细教程