Java ObjectStreamClass getFields()方法与示例

ObjectStreamClass类getFields()方法

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

  • getFields()方法用于返回此ObjectStreamClass的所有命名字段。

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

  • 返回命名字段时,getFields()方法不会引发异常。

语法:

    public ObjectStreamField[] getFields();

参数:

  • 它不接受任何参数。

返回值:

该方法的返回类型为ObjectStreamField [],它返回一个名为ObjectStreamField对象的数组,该数组包含所有存在的字段(如果存在)。

示例

//Java程序演示示例 
//of ObjectStreamField []getFields()//ObjectStreamClass的方法

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

public class GetFields {
 public static void main(String[] args) {
  //实例化ObjectStreamClass 
  //和日历
  ObjectStreamClass o_stm = ObjectStreamClass.lookup(Calendar.class);

  //通过使用getFields()方法就是返回
  //此类的字段
  ObjectStreamField[] osf_stm = o_stm.getFields();

  for (int i = 0; i < osf_stm.length; ++i)
   System.out.println("o_stm.getFields(): " + osf_stm[i]);
 }
}

输出结果

o_stm.getFields(): Z areFieldsSet
o_stm.getFields(): I firstDayOfWeek
o_stm.getFields(): Z isTimeSet
o_stm.getFields(): Z lenient
o_stm.getFields(): I minimalDaysInFirstWeek
o_stm.getFields(): I nextStamp
o_stm.getFields(): I serialVersionOnStream
o_stm.getFields(): J time
o_stm.getFields(): [I fields
o_stm.getFields(): [Z isSet
o_stm.getFields(): Ljava/util/TimeZone; zone