Java ObjectStreamField getOffset()方法与示例

ObjectStreamField类getOffset()方法

  • getOffset()方法在java.io包中可用。

  • getOffset()方法用于获取此ObjectStreamField字段的偏移量。

  • getOffset()方法是一种非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。

  • 返回偏移量时,getOffset()方法不会引发异常。

语法:

    public int getOffset();

参数:

  • 它不接受任何参数。

返回值:

方法的返回类型为int,它返回此ObjectStreamField的偏移量。

示例

//Java程序演示示例 
//intgetOffset()方法的 
//的ObjectStreamField-

import java.io.*;
import java.util.*;

public class GetOffSetOfOSF {
 public static void main(String[] args) {
  //实例化Calendar的ObjectStreamClass-
  ObjectStreamClass o_sc = ObjectStreamClass.lookup(Calendar.class);

  //通过使用getField()方法是获取字段
  //日历中的值 
  ObjectStreamField field1 = o_sc.getField("isTimeSet");
  ObjectStreamField field2 = o_sc.getField("isSet");

  //通过使用getOffset()方法就是返回
  //字段的偏移量

  int field1_offset = field1.getOffset();
  System.out.println("field1.getOffset(): " + field1_offset);

  int field2_offset = field2.getOffset();
  System.out.println("field2.getOffset(): " + field2_offset);
 }
}

输出结果

field1.getOffset(): 5
field2.getOffset(): 1