How to Compare a String with a Char

47,268

Solution 1

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;
}

Solution 2

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}));
Share:
47,268
Admin
Author by

Admin

Updated on July 11, 2022

Comments

  • Admin
    Admin almost 2 years

    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'.