2016-08-11 46 views
1

我想使用脚本运行器能够检查我的脚本的任何错误/弃用类。然而,对于一些文件只是说了以下错误:脚本运行错误'失败类型检查'

Failed type checking and we don't know why, it's our fault not yours @ line 1, column 1. 

我已经分离出的问题如下:

Map tmprc = issue.getCustomFieldValue(rcObj) as Map 
if (tmprc) { 
    // Root Cause Category field defined but ensure both parts of its cascading field are selected 
    rotCausEntered = ((tmprc.get(null) != null) && (tmprc.get("1") != null)) 
} 

特别是为下面的代码位导致错误

(tmprc.get(null) != null)

只是好奇,如果有人知道为什么这段代码导致错误。如果我评论一行,一切正常。

回答

2

这是有道理的,这将无法在一个类型检查的情况下,因为null是不是一个类型,你把它传递给一个函数get()一个期望的Object类型参数。例如,如果您运行null instanceof Object,则返回false。类型检查器可能不知道如何处理,并返回您看到的错误。

为什么您使用null作为Map中的钥匙?改变这种行为可能是你的解决方案。

+0

在这里找到别人的代码。它看起来像是从一个下拉菜单中的两个输入的自定义字段中获取信息。在哪里取决于你在A领域选择什么,你会在B领域获得新的选择。所以我可能会提交作者来仔细检查他们为什么要这样做。 – Francisco