文字列を文字と比較するにはどうすればよいですか?
私のコードはここにあります:
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);
}
メソッドtry
を呼び出すと、両方を設定しても常にfalseが返されますs = "s"
およびc = 's'
。
私のジュニア開発者に最初に言うことは、tryはJavaの予約キーワードであるため、Wordの「try」をメソッド名として使用しないことです。
次に、メソッドで考慮する必要があるいくつかの点があると考えます。
2つの異なるタイプのものを比較すると、同じになることはありません。文字列はnullにすることができます。文字列の長さ。最初の文字。
私はメソッドを次のように書きます:
public boolean isSame() {
if (s != null && s.length() == 1 {
return s.charAt(0) == c;
}
return false;
}
Char比較を使用します(sは常に長さが1であると仮定します):
return c == s.charAt(0);
または、文字列比較を使用します。
return s.equals(new String(new char[]{c}));