JUnit中assertEquals和assertSame方法的不同
来源:互联网 发布:windows 2003server 编辑:程序博客网 时间:2024/06/14 14:33
JUnit中assertEquals和assertSame方法的不同
1)提供的接口数量不完全相同。
assertEquals支持boolean,long,int等等java primitiveType变量。
assertSame只支持Object。
2)比较的逻辑不同,结果可能不同。
assertSame是对象直接比较。assertEquals能利用被比较对象提供的比较逻辑来进行比较。
使得同样的条件下,两者的运行结果不一定相同。
简单解释如下:
assertEquals(Object A, Object B) 的比较逻辑:
如果 A,B都是Null,返回true。否则调用 A.equals(B)来判断。
assertSame(Object A, Object B)的比较逻辑:
以A == B运算的结果来判断。
A.equals(B) 和 A==B 的差别在于。
如果A没有重写java.lang.Object的equals方法,
那么就是两个java对象的内存地址比较,比较结果和 A==B的结果相同。
如果A重写了equals方法(比如GregorianCalendar,BigDecimal类),
那么比较的结果不一定和A==B的结果相同。
0 0
- JUnit中assertEquals和assertSame方法的不同
- JUnit中assertEquals和assertSame方法的不同
- JUnit中assertEquals和assertSame方法的不同
- JUnit中assertEquals和assertSame方法的不同
- JUnit中assertEquals和assertSame方法的不同
- JUnit中assertEquals和assertSame方法的不同
- junit中 assertEquals与assertSame用法的区别
- junit 方法:assertEquals 和 assertTrue
- JUnit assertEqual和assertSame
- junit内Assert.assertEquals的含义
- 对比两个不同版本的assertEquals()
- 对比两个不同版本的assertEquals()
- assertEquals方法
- JUnit中常见的注解和断言方法
- junit测试和main方法多线程中遇到的问题
- JUnit assertEquals 两个对象或集合类型
- JUnit assertEquals 两个对象或集合类型
- Junit Assert.assertEquals中的delta用法
- c#实现汉字转换全拼
- cmd 删除进程
- java nio--概述
- 怎么理解JAVA中的实例化?
- 【数据科学实战】数据科学补充阅读材料(图书推荐)
- JUnit中assertEquals和assertSame方法的不同
- (非常强大的) ios 常用网址,库,第三方,索引整理合集
- 如果不使用判断操作保证任意一个数如果大于30则为30,否则为原值(SQL中排序时对字段值进行最大限制)
- 模块[LCD]_Android LCD(三):Samsung LCD接口篇
- SQL 2012中文乱码
- SharePoint 2010 升级到2013时 保证用户能够连接但不能修改正升级的数据
- STL queue
- 如何计算android view的FPS
- 实用技巧:Google 搜索打不开的解决方法【图文