Java ObjectStreamClass getField()方法与示例

ObjectStreamClass类getField()方法

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

  • getField()方法用于通过给定的字段名称(fi_na)返回此ObjectStreamClass的字段。

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

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

语法:

    public ObjectStreamField getField(String fi_na);

参数:

  • 字符串fi_na –表示返回字段的名称。

返回值:

该方法的返回类型为ObjectStreamField,如果存在则返回命名字段的ObjectStreamField对象,否则,当不存在命名字段时返回null。

示例

//Java程序演示示例 
//ObjectStreamField getField(String fi_na)
//ObjectStreamClass的方法

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

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

  //通过使用getField()方法就是返回
  //此类的名称字段
  ObjectStreamField o_sf1 = o_stm.getField("isTimeSet");
  ObjectStreamField o_sf2 = o_stm.getField("fields");

  //显示o_sf1,o_sf2-
  System.out.println("o_stm.getField(isTimeSet): " + o_sf1);
  System.out.println("o_stm.getField(fields): " + o_sf2);
 }
}

输出结果

o_stm.getField(isTimeSet): Z isTimeSet
o_stm.getField(fields): [I fields