【问题标题】:instance from Lookup object来自 Lookup 对象的实例
【发布时间】:2013-01-07 16:52:40
【问题描述】:

如果您有任意 Lookup 对象(从 invokedynamic 引导程序生成),是否可以从执行查找的类中获取实例?

Lookup 对象有一个方法“lookupClass”可用,但它只返回一个 Class 对象。

例如,假设我有一个 Class Car,它会生成一个 Lookup 对象。 我怎样才能获得该类的实例?

谢谢。

【问题讨论】:

  • 需要一些例子/更多关于你已经拥有的信息。
  • 我有方法:public static java.lang.invoke.CallSite wrapandinject(Lookup caller, String name, MethodType type) 用作invokedynamic 字节码的引导方法。所以 Lookup 对象是调用者,它指向字节码中不能从 eclipse 直接访问的类
  • 您需要完整的源代码吗? - 我的意图是在对 maethodhandle 的 invokexact 调用中使用实例作为接收器..希望它有所帮助

标签: java instance java-7 lookup bootstrapping


【解决方案1】:

找到了解决办法:)

如果您有一个查找对象调用者,那么您可以使用以下行获取执行查找的类的实例:

Class.forName(caller.lookupClass().getCanonicalName()).newInstance();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多