Ich habe eine Klasse k mit ein paar Variablen v1, v2, ..., vn. Alle können durch eine get-Funktion aufgerufen werden und alle werden in der toString der Klasse verwendet:
der Rückgabewert sieht circa so aus "v1="+v1+";v2="+v2+";..."+vn. In der Comparefunktion nehme ich jetzt :
Da ich nicht sagen kann bei welcher der Variabeln der Unterschied entsteht habe ich eine Array-Compare-Funktion:
Ich habe mehrere Test habe gemacht und entdeckt, dass ein gewisser Wert von dem Array den gleichen Wert hat wie die String-Compare-Funktion hat, allerdings nicht immer der gleiche (auch wenn es oft bei Index 1 war). Ich nehme an das hängt damit zusammen bei welcher Variable zuerst ein Unterschied vorhanden ist. Gibt es eine Möglichkeit zusagen welcher Wert im Array den Wert des Stringvergleiches gleicht und den Stringvergleich so zu gestalten um Rückschlüsse auf die unterschiedlichen Variablen möglich sind? Auch in Blick auf eine Sortierfunktion wie tue ich da am besten?
der Rückgabewert sieht circa so aus "v1="+v1+";v2="+v2+";..."+vn. In der Comparefunktion nehme ich jetzt :
Java:
public int compare(klasse b){
return this.toString().trim().compareToIgnoreCase(b.toString().trim());
}
Java:
public int[] compareArray(klasse b){
int v1i=this.v1.trim().compareToIgnoreCase(b.getV1().trim());
int v2i=this.v2.trim().compareToIgnoreCase(b.getV2().trim());
...
int vni=this.vn.trim().compareToIgnoreCase(b.getVn().trim());
int r[]={v1i, v2i, ..., vni}; //ja n ist klein genug, dass sich das so aus geht
return r;
}
Zuletzt bearbeitet von einem Moderator: