Java查找并避免重复字符串
在我的项目中,我在列表empVal字符串值containJava查找并避免重复字符串,java,Java,在我的项目中,我在列表empVal字符串值contain01,02,03,05中使用employee bean list,我需要在另一个字符串中避免使用该值 i、 第一个bean emp1.empval=“01,02,03,05”和第二个bean emp2.empval=“01,02,03,05”中的e。 因此,emp2.empval不应该被允许,因为emp2中存在bean值。emp1.empval中已存在empval pulblic class employee { private Str
01,02,03,05
中使用employee bean list,我需要在另一个字符串中避免使用该值
i、 第一个bean emp1.empval=“01,02,03,05”和第二个bean emp2.empval=“01,02,03,05”中的e。
因此,emp2.empval不应该被允许,因为emp2中存在bean值。emp1.empval中已存在empval
pulblic class employee
{
private String empVal;
......
}
我的疑问是,如何使用iterate或split来比较字符串或任何其他方法来实现它?您可以覆盖equals方法并检查
@Override
public boolean equals(Object obj) {
if(obj instanceof employee){
employee emp= (employee) obj;
if(this.empVal.equals(emp.empVal){
return true;
}
}
return false;
}
然后,在添加可以检查的元素之前,还可以添加在类中声明的其他变量if(emp!=null&&this.empVal.equals(emp.empVal)&&this.empVal1.equals(emp.empVal1))
例如:ArrayList empList=new ArrayList();
员工emp1=新员工(“a”);
员工emp2=新员工(“b”);
员工emp3=新员工(“b”);
雇主添加(emp1);
添加(emp2);
if(雇员名单包含(emp3))
{
System.out.println(“是”);
}
其他的
{
系统输出打印项次(“否”);
empList.add(emp3);//如果列表中不存在该对象,则进行添加。
}
基本上,contains
方法将通过内部调用equals
方法来检查对象是否存在
有关
包含的功能的更多信息,您可以查看链接嗨,您可以通过
Boolean valueExists = emp1.empVal.equals(emp2.empVal);
你的问题的内容并没有真正说明你想要达到什么目标,因此也不清楚你在问什么。提示:我几乎完全不理解你的问题,你是想问“如何避免在两个员工对象中出现相同的时间间隔”?作为一个侧节点,obj instanceof employee
已经执行了null
检查,因此emp!=null
是完全不必要的。感谢@KevinEsche建议修改代码。我需要比较每个值,即第一个值01,02,03和第二个值03,04,05。03出现在两个stringuse string.split(“,”)中,以便拆分字符串并存储在arrayList中,然后您可以比较它们。