永发信息网

JUnit中assertEquals和assertSame方法的不同

答案:1  悬赏:60  手机版
解决时间 2021-11-28 21:23
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的结果相同。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我电脑是独显,有必要用两根8g内存条组双通道
1g蛋白质、脂肪、碳水化合物产热多少?
民间借贷纠纷,法院裁定查封房产的条件是什么
汽车顶部贴膜是否违反交规(改色)
威胜电表DDSY一102常见故障显示E04
优秀书法心经中堂对联
甲天半中中的甲是什么数字
中国黄金(大润发店)怎么样,好不好的默认点
夏天母婴店适合卖什么产品好
求第十题答案
承重横梁断截面的计算
什么叫做网络营销 韩束一叶子是不是传销
关于激励人努力奋斗,积极向上的名言最好写出
如何煲兔肉汤?
我不小心将CAD绘图区下面的模型和布局隐藏了
推荐资讯
8个字的QQ网名
发酵的大麦有酸味没有酒味
逃避,是一种懦弱作文八百字
从济阳汽车总站到机场怎么坐公交车,最快需要
唯爱和碧缇福哪个美牙仪好?
为什么用电饭煲煮粥会有水从盖子上漫出来
开心酒吧地址在哪,我要去那里办事,
广州番禺大石地铁c出口摆地摊怎么样的亲收费
哪里可以下载庐剧,最好是高清的
真理向谬误转化的原因,主要在于该真理A①超
天鸿美和院周边环境怎么样?生活便利吗?
什么是弯钩??
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?