要是对象的属性很多的话,岂不是很麻烦?请高手指点一下

比如有这样一个对象:
public Class CsvCon(){
protected String jobName;
protected String workflow;
getJobName();{return jobName};
getWorkflow();{return workflow};
}
CsvCon a = new CsvCon ();
a.jobName =1;
a.workflow=2;
CsvCon b = new CsvCon ();
b.jobName =3;
b.workflow=4;
在调用Junit的比较方法,直接比较两个对象,
assertEquals(a,b);
报出信息:
<a@c7b00c>but was <b@1f6f23>

以上是不是说明Junit不支持的直接比较。想比较对象里的属性是否相同,必须用get()方法,把属性取出来再比较才可以,像下面这样
assertEquals(a.getJobName(),b.getJobName());

慕的地6264312
浏览 155回答 2
2回答

弑天下

肯定是这样的,你直接比较的是对象的引用。既然是new的两个对象,那他们的引用肯定是不同的,也就是说,虽然他们内容相同,但实质上是两个东西。就比如两个人都叫张三,你不能说他们是同一个人,只能说他们具有相同的名字。

BIG阳

a.jobName =1这样能赋值么?
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java