private List<String> values = new ArrayList<String>();
public WhitespaceEqualsTest() {
values.add("I ");
values.add("I");
values.add(". ");
values.add(".");
values.add("1");
values.add("1 ");
System.out.println(refine(values));
}
private List<String> refine(List<String> input){
ArrayList<String> outerLoopValues = (ArrayList<String>) input;
ArrayList<String> innerLoopValues = (ArrayList<String>) input;
ArrayList<String> results = new ArrayList<String>();
for(String string1 : outerLoopValues){
for(String string2 : innerLoopValues){
if(string1.contains(string2) == false){
results.add(string1);
}
}
}
Set<String> temp = new HashSet<String>();
temp.addAll(results);
results.clear();
results.addAll(temp);
return results;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((values == null) ? 0 : values.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
WhitespaceEqualsTest other = (WhitespaceEqualsTest) obj;
if (values == null) {
if (other.values != null)
return false;
} else if (!values.equals(other.values))
return false;
return true;
}
Arbeits ich die hashCode()
und equals()
außer Kraft gesetzt habe, so bin ich nicht wirklich sicher, was falsch ist. Sie werden mit Eclipse erzeugt (Source -> HashCode() und Equals() generieren). Warum erkennt es nicht, dass das gleiche Zeichen ohne Leerzeichen in einem Zeichen mit einem Leerzeichen enthalten ist? Die Ausgabe lautet:enthält() -Methode nicht
[1, . , I , I, ., 1 ]
Warum nicht die ganze Zeit ArrayList verwenden, anstatt die Liste herumzuwerfen? –
Ich bezweifle, dass Sie 'hashCode()' und 'equals (String)' für 'java.lang.String' überschrieben haben. Bitte geben Sie diesen Code an. Sie haben nur einen Test zur Verfügung gestellt, der (scheinbar) genauso funktioniert wie für 'String'. – CollinD
Ich zitiere @ CollinD. Und auch angenommen, Sie haben möglicherweise gebrochen enthält, die verwendet gleich –