The method assertEquals(Object, Object) is ambiguous for the type Assert解决办法

该错误意思是方法调用存在歧义,先看下面这个例子:

assertEquals(10L, (Long)10);

编译器就会报出The method assertEquals(Object, Object) is ambiguous for the type Assert的错误;

10L是long型,而(Long)10是Long型。而assertEquals()是一个重载的方法,其中就有

assertEquals(Object,Object)

assertEquals(Long, Long)

那么问题来了,当我们调用下面这个方法时,

assert(10L, (Long)10);

编译器就会很为难,首先说所有的重载方法中,没有符合的。

但是因为long可以自动转换(autobox)成Long,所以说可以理解成你想调用assertEquals(Long,Long);

但是10L和(Long)10都是Object类型的,所以说你想调用assertEquals(Object,Object)也合情合理。

所以就会出现歧义了。

解决办法:assertEuqls()的两个参数必须是同一类型的,这样就可以唯一确定一个重载方法了。

时间: 2024-11-09 03:23:03

The method assertEquals(Object, Object) is ambiguous for the type Assert解决办法的相关文章

"undefined method `root' for nil:NilClass" error when using "pod install" 解决办法

如果pod undate 的时候报错"undefined method `root' for nil:NilClass" error when using "pod install" 或 NoMethodError - undefined method `dirname' for nil:NilClass 检查你的podfile文件 保证一下信息存在 Pod::Spec.new do |s| s.name = "DDEBusiness" s.ve

Nginx 启动报错 (nginx: error while loading shared libraries: XXX: cannot open shared object file: No such file or directory ) 的解决办法

本文解决 Nginx 因库文件缺失而无法启动问题 没有采用缺失什么就安装什么的解决办法, 而是借助于另一个正常运行的Linux , 将其上的库文件发送给缺失库文件的 Linux 服务器 以 缺失  libharfbuzz.so.0 为例 , 其它库文件缺失 大同小异 前提摘要: 今天打开我的网址 www.cheery.pro 时发现,  多次重试也没反应, 这可怎么办? 这是怎么回事 问题探究: ping了一下服务器发现可以ping通,  于是猜测可能是Nginx 出现了问题, 打开宝塔面板,

java出现The type java.lang.Object cannot be resolved. It is indirectly referenced.....解决办法

当你在Eclipse引用不同版本JDK工程时会发生该问题.由于你开发环境中应用了多个版 本的JDK 或JRE导致的.Eclipse会按照最初的开发环境默认选择对应的Jre.如Eclipse上有jdk1.4开发的环境工程,当你在引入高版本 jdk1.6开发的工程时,以上问题就出现了. 问题解决的方案如下: 进入window\preferences\java\Installed JREs  按Add --> Browse...--->选择jre安装路劲(我的jre路径是D:\Program Fil

[Android]通过js方法回调部分native报错 Web Console: Uncaught TypeError: Object [object Object] has no method 'xxx'

在android4.2以前,注入步骤如下: webview.getSetting().setJavaScriptEnable(true); class JsObject { public String toString() { return "injectedObject"; } } webView.addJavascriptInterface(new JsObject(), "injectedObject"); Android4.2及以后,注入步骤如下: webv

asp.net mvc4 使用java异步提交form表单时出现[object object] has no method ajaxSubmit

最近接手了一个单子,说大不大,只是功能不少,开发过程中遇到该问题 先看脚本截图: 本以为是笔误,哪儿写错了,可是看来看去,都没发现有不合适的地方,对比过网上很多代码,都差不多,于是各种方式的,各种原因的找还是无果,结果一晚上时间白白浪费掉了,,,悲哀. 在stack overflow上偶然看见一个同仁寻问关于 Uncaught TypeError: Object [object Object] has no method “fancybox” 的问题,索然不是同一问题,但是应该是同一错误导致,于

List.contains(Object object)方法

使用List.contains(Object object)方法判断ArrayList是否包含一个元素对象(针对于对象的属性值相同,但对象地址不同的情况),如果没有重写List<E>的元素对象Object中的equals方法,默认如下: @Override public boolean equals(Object o) { // TODO Auto-generated method stub return super.equals(o); } 将导致contains方法始终返回false. 查

webpack报错:Cannot assign to read only property &#39;exports&#39; of object &#39;#&lt;Object&gt;&#39;

这个倒霉错误在mac电脑上开发的时候非常顺利,可是用windows的时候就会报错. 百度查不到,google一查果然有. 原因是:The code above is ok. You can mix require and export. You can't mix import and module.exports. 也就是说,在webpack打包的时候,可以在js文件中混用require和export.但是不能混用import 以及module.exports. 于是查了一下代码,在自己的ma

【JS】☆★之详解[Object HTMLDivElement]和[Object Object]

[JS]☆★之详解[Object HTMLDivElement]和[Object Object] <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">

org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session异常解决办法

org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session异常解决办法 为什么还会说已经存在相同的session了呢.然后每次将项目重启后第一次编辑的时候问题不会触发,只有当第二次操作的时候才会出现这个问题. 解决办法:关闭session.好好检查操作完成后有没有关闭会话. org.hibernat