user8120322
user8120322

Reputation: 83

How to Compare a String with a Char

Guys how do i compare a String with a char?

heres my 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);
}

if i call my method try, it always returns me false even if i set both s = "s" and c = 's'.

Upvotes: 8

Views: 59868

Answers (2)

MartinByers
MartinByers

Reputation: 1240

The first thing I would say to any of my junior devs is to not use the word "try" as a method name, because try is a reserved keyword in java.

Secondly think that there are a few things which you need to consider in your method.

If you compare things of two different types they will never be the same. A String can be null. How long the string is. The first char.

I would write the method like :

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

Upvotes: 7

ernest_k
ernest_k

Reputation: 45339

Either use char comparison (assuming s will always be of length 1):

return c == s.charAt(0);

Or use String comparison:

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

Upvotes: 6

Related Questions