# 2 Strings vergleichen



## Laren (21. Apr 2011)

Hi,

Ich soll für die Uni unter anderem eine equals methode selbst schreiben, der einfach nur 2 Strings vergleicht.
Dachte zuerst, ist ja leicht und habe 

```
public boolean equals() {
String wort1 = "Hallo";
String wort2 = "Hallo";
		if (wort1 == wort2)
                return true;
```
versucht(Achtung nicht auf die Syntax achten, hab das gerade einfach so zum verstehen, so hingeschrieben)
Aber ich bekomme false raus. Wie kann ich 2 Strings ohne equals vergleichen (String1==String2) geht ja nicht;(

Viele Grüße


----------



## eRaaaa (21. Apr 2011)

Laren hat gesagt.:


> Wie kann ich 2 Strings ohne equals vergleichen (String1==String2) geht ja nicht;(



In dem du die equals Methode nachbaust? 
Vergleiche eben char für char in einer Schleife (vllt. erstmal gucken ob nicht String A doch == String B ist, dann kann man sich den Vergleich nämlich sparen..oder zuerst auch noch die Längen prüfen...)


----------



## Laren (21. Apr 2011)

Hab das jetzt mal so realiesiert.
Jetzt bekomme ich aber eine ArrayIndexOutOfBoundsException, nach nur 3 überprüften Elementen. Ist diese Umsetzung quatsch oder mache ich nur irgentwo einen Fehler? 


```
public boolean equals(CloneList cl) {
		if (this.size == cl.size) {
			for (int i = 0; i < this.size; i++) {
				char[] e1 = this.get(i).toString().toCharArray();
				char[] e2 = cl.get(i).toString().toCharArray();
				if (e1.length == e2.length) {
					for (int j = 0; j < e1.length; j++) {
						if (e1[i] != e2[i])
							return false;
					}
				}
			}
			return true;
		}

		return false;

	}
```


----------



## Cola_Colin (21. Apr 2011)

i und j verwechselt

Du brauchst auch keine Kopie des char Arrays anlegen, die Stringklasse hat Methoden um die Länge zu bestimmen length() und ein char von einem index zu erhalten charAt()


----------



## Nicer (10. Mai 2011)

Ich weiss das Thema ist schon ein paar Tage erledigt aber ich poste das hier trotzdem :

LINK

Hier findet ihr eine Übung zum Thema Strings vergleichen. Verfasst habe diese übrigens ich 

Also für alle die Per SuFu hierher kommen -> Oben draufklicken , aufgabe mit lösung vorhanden!


----------

