4

我试图在从 JIRA API调用IssueInputParameters.addCustomFieldValue()时避免反射。然而,即使在完全类型提示时,Clojure 仍然会发出警告说反射正在使用中。

javadocs中给出的方法签名如下:

IssueInputParameters addCustomFieldValue(Long customFieldId, String... values) 

因此,我试图这样称呼它:

(fn [^com.atlassian.jira.issue.IssueInputParameters i, ^Long l]
  (.addCustomFieldValue i l (into-array String ["foo"])))

实际调用有效,但始终使用反射:

Reflection warning, NO_SOURCE_PATH:1 - call to addCustomFieldValue can't be resolved.

如何避免这种情况?

4

1 回答 1

6

完成后,提示String[]显式有效,如下所示:

(fn [^com.atlassian.jira.issue.IssueInputParameters i, ^Long l]
  (.addCustomFieldValue i l
    ^"[Ljava.lang.String;" (into-array String ["foo"])))
于 2012-06-05T18:11:48.913 回答