web-dev-qa-db-fra.com

Comment comparer une chaîne avec un personnage

Les gars, comment puis-je comparer une chaîne avec un personnage? voici mon code:

private String s;
private char c;

public K(String string, char cc){
    setS(string);
    setC(cc);
}

public void setS(String string){
    this.s = string;
}

public void setC(char cc){
    this.c = cc;
}

public boolean equals(K other){
    return s.equals(c);
}

public boolean try(){
    return s.equals(c);
}

si j'appelle ma méthode "essayer", elle me renvoie toujours faux même si je règle

3
user8120322

La première chose que je puisse dire à mes développeurs juniors est de ne pas utiliser le mot "try" comme nom de méthode, car try est un mot clé réservé en Java.

Deuxièmement, pensez qu’il faut tenir compte de quelques points dans votre méthode.

Si vous comparez des objets de deux types différents, ils ne seront jamais les mêmes. Une chaîne peut être null . Quelle est la longueur de la chaîne. Le premier personnage.

J'écrirais la méthode comme:

public boolean isSame() {
    if (s != null && s.length() == 1 { 
        return s.charAt(0) == c;
    }
    return false;
}
4
MartinByers

Utilisez soit la comparaison de caractères (en supposant que s sera toujours de longueur 1):

return c == s.charAt(0);

Ou utilisez la comparaison de chaîne:

return s.equals(new String(new char[]{c}));
0
ernest_k