Avatar billede bjering Nybegynder
29. december 2005 - 01:27 Der er 5 kommentarer og
1 løsning

Sammenligne 2 Strings, men melder altid false

Hvorfor virker dette styk kode ikke???

    public boolean doesCharNameExist(String name) throws Exception
    {
        boolean result = false;
   
        try
        {
            _log.fine("Checking new name");
            CharNames status = CheckLoginName.getInstance().getTemplate(name);
           
            _log.fine("found : " + status.get_name() + " Name : " + name);
           
            if (status.get_name() == name)
            {
                _log.fine("charname: "+ name + " already exists. creation failed.");
                result = true;
            }
           
            _log.fine("charname: "+ name + " already NOT exists.");
        }
        catch (Exception e)
        {
            // ignore problems
        }
       
        _log.fine("returning: "+ result);
        return result;
    }

den skriver dette :

Checking new name
found : Stribes Name : Stribes
charname: Stribes already NOT exists.
returning: false

de 2 names er den samme, men den melder false i steder for true som den burde....

Tak
Avatar billede ranglen Nybegynder
29. december 2005 - 01:36 #1
if (status.get_name() == name)

her skal du nok have fat i equals

if (status.get_name().equals(name))
Avatar billede bjering Nybegynder
29. december 2005 - 01:50 #2
nice, den virkede dælme.

smid et svar :)
Avatar billede arne_v Ekspert
29. december 2005 - 12:12 #3
forklaringen er at

== tester om det er samme streng (2 pointere som peger på samme sted i memory)

.equals tester om de indeholder de samme bogstaver

char *s1;
char *s2;
s1==s2 versus strcmp(s1,s2)==0
Avatar billede kalp Novice
29. december 2005 - 12:22 #4
if (status.get_name().equalsIgnoreCase(name))

hvis der ikke skal tages hensyn til store og små bogstaver
Avatar billede bjering Nybegynder
03. april 2006 - 15:51 #5
ingen svar efter måneder.... lukker
Avatar billede arne_v Ekspert
04. april 2006 - 01:15 #6
ranglen er vist ikke så aktiv lige for tiden
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester