Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java查找并避免重复字符串_Java - Fatal编程技术网

Java查找并避免重复字符串

Java查找并避免重复字符串,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

在我的项目中,我在列表empVal字符串值contain
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中,然后您可以比较它们。