web-dev-qa-db-ja.com

文字列と文字を比較する方法

文字列を文字と比較するにはどうすればよいですか?

私のコードはここにあります:

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'

5
user8120322

私のジュニア開発者に最初に言うことは、tryはJavaの予約キーワードであるため、Wordの「try」をメソッド名として使用しないことです。

次に、メソッドで考慮する必要があるいくつかの点があると考えます。

2つの異なるタイプのものを比較すると、同じになることはありません。文字列はnullにすることができます。文字列の長さ。最初の文字。

私はメソッドを次のように書きます:

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

Char比較を使用します(sは常に長さが1であると仮定します):

return c == s.charAt(0);

または、文字列比較を使用します。

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