2011-05-13 92 views
3

我正在使用IField接口的实现。我对理解'已解决的领域'有困难 - 这是什么意思? 甚至有存在isResolved()的函数,其中:已解决的字段/信息 - 这是什么意思?

返回该字段是否代表 一个解决的领域。如果一个字段是 解决,它的密钥包含解决 信息。

这是什么意思?解决这个词有没有第二个意思,我找不到,也没有在字典中,也没有在线?

回答

0

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

绑定表示Java语言中的命名实体。从编制者的角度来看,绑定世界提供了程序结构的综合图片。

简单来说,'绑定'就是你如何唯一标识一个命名实体,'key'是那个唯一信息。你可以在这个tutorial找到更多关于绑定的信息。

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

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. 

它在谈论一般签名得到解决。 ..似乎'已解决'与类型的泛型有关:-)