Java ObjectInputStream resolveClass()方法与示例

ObjectInputStream类resolveClass()方法

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

  • resolveClass()方法用于加载类似于给定ObjectStreamClass描述符的本地类。

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

  • resolveClass()方法在解析类时可能会引发异常。

    • ClassNotFoundException:当序列化的对象Class不存在时,可能引发此异常。

    • IOException:在执行过程中遇到任何输入/输出错误时,可能引发此异常。

语法:

    protected Class resolveClass(ObjectStreamClass description);

参数:

  • ObjectStreamClass描述–表示此ObjectStreamClass的实例。

返回值:

该方法的返回类型为Class,它返回与给定Description等效的Class对象。

示例

//Java程序演示示例 
//类resolveClass(ObjectStreamClass描述) 
//对象InputStream的方法

public class GetSignersOfClass {
 public static void main(String[] args) throws Exception {
  //创建一个String的实例
  String str = new String();

  //它返回由String类表示的Class对象
  //对象
  Class cl = str.getClass();

  //通过使用getSigners()方法是获取Class的签署者
  Object[] o = cl.getSigners();
  System.out.println(cl.getName() + " " + "Signers: " + o);
 }
}

输出结果

java.lang.String Signers: null