2016-08-11 6 views
-2

В моем проекте я использую список сотрудников боба в списке empVal значения строк содержит 01,02,03,05 в том же мне нужно, чтобы избежать в другой строкеJava, чтобы узнать и избежать дублирования строки

т.е. в первой фасоли emp1.empval =» 01,02,03,05 "и второй компонент emp2.empval =" 01,02,03,05 ". Таким образом, emp2.empval не следует допускать, поскольку в emp2 присутствуют значения чисел bean. empval уже существует в emp1.empval.

pulblic class employee 
{ 
    private String empVal; 
    ...... 
} 

Мое сомнение заключается в том, как достичь этого, используя либо итерацию, либо разделение, чтобы сравнить строку или любой другой способ?

+1

Содержание Вашего вопроса действительно сделать это не распространяется ясно, что вы пытаетесь для того чтобы достигнуть и из-за этого неясно, о чем вы спрашиваете. – SomeJavaGuy

+0

совет: [** 'String :: contains' **] (https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#contains (java.lang.CharSequence)) –

+2

Я почти ничего не понимаю в вашем вопросе – JimHawkins

ответ

1

Вы можете переопределить метод 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<employee> empList= new ArrayList<employee>(); employee emp1 = new employee ("a"); employee emp2 = new employee ("b"); employee emp3 = new employee ("b"); empList.add(emp1); empList.add(emp2); if(empList.contains(emp3)) { System.out.println("Yes"); } else { System.out.println("No"); empList.add(emp3); //Adding if that object is not present in the list. }

в основном contains метод будет проверять, если объект присутствует внутренне вызова equals.

Для получения дополнительной информации о contains функции вы можете проверить ссылку How does a ArrayList's contains() method evaluate objects?

+0

как sidenode, 'obj instanceof employee' уже выполняет проверку' null', поэтому 'emp! = Null' совершенно не нужно. – SomeJavaGuy

+0

Спасибо @KevinEsche за предложение, которое изменило код. –

0

Привет вы можете achive это,

Boolean valueExists = emp1.empVal.equals(emp2.empVal); 
+0

Мне нужно сравнить каждое значение i.e сначала val 01,02,03 и второе значение как 03,04,05. 03, присутствующие в строке –

+0

, используйте string.split (","), чтобы разделить строку и сохранить в arrayList, а затем вы можете сравнить их. – Veeresh123

Смежные вопросы