[Ljava.lang.Object 或者 No signature of method

终于解决了这个陈年老问题了:

报错信息如下:

 No signature of method: mm.jihe.utils.NotifyService.sendRegularIssueEmail() is applicable for argument types: (java.util.ArrayList, [Ljava.lang.Object;, java.util.ArrayList) values: [[
    [mm.jihe.pm.Issue: 882, mm.jihe.pm.MendPlan: 99590, null],
    [mm.jihe.pm.Issue: 479, mm.jihe.pm.MendPlan: 1001555, null],
    [mm.jihe.pm.Issue: 1002247, null, mm.jihe.pm.HintLetter: 1002243]
], [mm.jihe.pm.Issue : 882, mm.jihe.pm.MendPlan : 99590, null], [zhaojie1@CMSTEST.com, taoxx@CMSTEST.com, lujb@cmstest.com, liaoel@CMSTEST.com]]

代码如下:

                //原循环是这样子的	

                for(i in issues){
					sendRegularIssueEmail(issues,i,mendTracker)
					cnt++;
				}
				
                //修改后的
				for(int i =0;i<issues.size();i++){// 整改跟踪负责人
					Object [] obj = (Object [])issues.get(i);
					Issue d = (Issue)obj[0]
					sendRegularIssueEmail(issues,d,mendTracker)
					cnt++;
				}

                //调用的sendRegularIssueEmail接口如下
                private sendRegularIssueEmail(def issueList,Issue i,List sendedList){

                }

通过代码和错误日志可以分析出来,是我们参数的类型错误导致的问题,我们需要的参数类型是Issue,而循环出的i的类型是数组[[mm.jihe.pm.Issue: 882, mm.jihe.pm.MendPlan: 99590, null],
    [mm.jihe.pm.Issue: 479, mm.jihe.pm.MendPlan: 1001555, null],
    [mm.jihe.pm.Issue: 1002247, null, mm.jihe.pm.HintLetter: 1002243]] ,那么就造成上面的错误。

我们只要将类型转换一下取出自己需要的类型就行了。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值