Reputation: 83
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
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
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