Toon posts:

[java] string vergelijking

Pagina: 1
Acties:
  • 39 views sinds 30-01-2008

Verwijderd

Topicstarter
Hallo allemaal ik zit met een heel stom foutje.
Maar ik zie het even niet meer.

Ik heb een functie die een file uitleest.
public String[] read(File file) throws IOException{
..
..
}
Deze geeft een array terug met de inhoud van dat bestand.

Een functie die hem aanroept.
in de init.

File file = new File("d:/data/commands.ini"); //het path
this.linesString = read(file);
for (int j = 0;j<linesString.length();j++){
commandList.add(linesString[j]);
}

Hier worden dus de regels in een list box gezet. Dit gaat allemaal goed Maar dan.
Dan ga ik vergelijken.

Na de muisklik:
String selectedCommand = commandList.getSelectedItem();
if (selectedCommand=="test"){
System.out.println("Hij werkt...")
}

Daar gaat het fout. De compiler vind dit goed. Alleen als ik als selectedCommand test krijg, dan is de vergelijking niet goed en slaat hij hem over.
Nou d8 ik zelf dat dat komt omdat ik de string "test" met een pointer oid vergelijk.
Dus niet met een string maar met een pointer naar een string. Maar ik zie er geen oplossing voor |:(
Iemand anders wel of weet iemand wat het probleem wel is mocht mijn gedachte fout zijn.

Help zou ik heel erg waarderen..

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
== vergelijkt op geheugenadres bij objecten
Bij objecten moet je equals gebruiken om op inhoud te kunnen vergelijken.
Java doet namelijk niet aan operator overloading (alleen de ingebakken overloading van + op String en op de primitieven zijn een uitzondering)

Volgende keer beter zoeken (http://search.java.sun.com) dan heb je dit zo gevonden of koop een boek over Java, daar staat het zeker in :) Het is namelijk nogal basiskennis.

Dit topic is gesloten.