已解决的字段/信息 - 这是什么意思?

时间:2011-05-13 15:30:04

标签: java eclipse-jdt

我正在使用IField接口的实现。理解'已解决的领域'时遇到问题 - 这是什么意思? 甚至存在一个函数isResolved(),其中:

  

返回此字段是否表示   已解决的字段。如果是一个领域   已解决,其关键包含已解决   信息。

这是什么意思?解决这个词是否有任何第二个含义,我无法找到,也无法在字典中或网上找到?

2 个答案:

答案 0 :(得分:0)

已解决可能意味着'具有已解析的类型',即当已知运行时类型时,具有泛型类型的字段将被解析

某些jdt source code

中的提示
ResolvedBinaryMethod : Handle representing a binary method that is resolved.
The uniqueKey contains the genericSignature of the resolved method. Use BindingKey to decode it.

它正在讨论通用签名......似乎'已解决'与泛型类型有关: - )

答案 1 :(得分:0)

'已解决'与绑定有关。引用org.eclipse.jdt.core.dom.IBinding的

的javadoc
  

绑定表示Java语言中的命名实体。从编译器的角度来看,绑定世界提供了程序结构的集成图。

简单来说,“绑定”是指如何唯一地标识命名实体,“关键”是唯一信息。您可以在此tutorial中找到有关绑定的更多信息。

绑定很昂贵,因此并不总是“解析”,例如在通过org.eclipse.jdt.core.dom.ASTParser创建AST时,您可以调用ASTParser #setResolveBindings(boolean)来指定是否需要绑定或不。因此,isResolved()函数指示绑定信息是否可用,如果是,则getKey()返回该唯一键。