2011-05-13 59 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. 

它在談論一般簽名得到解決。 ..似乎'已解決'與類型的泛型有關:-)