2012-04-10 6 views
4

文字がアポストロフィかどうかを確認する必要があります。これは、これまでの私のコードです:文字がアポストロフィであるかどうかをチェックする方法?

public boolean isWordCharacter(int c) { 
if ((char) c == '\'') 
    return true; 
else return Character.isLetter(c); 
} 

しかし、それは実際にif ((char) c == '\'')一部になることはありません。私はそれをチェックする方法に何か問題がありますか?ありがとう!

+1

そのコードは私にはうまく見えます。あなたの問題は他の場所になければなりません。 –

+0

'c'を' char'にキャストする必要はありません。 –

+1

それ自体は答えではありませんが、フラット文字解析はいくつかの潜在的なアンチパターンを示しています。必要に応じて[Javaの正規表現機能](http://docs.oracle.com/javase/tutorial/essential/regex/)を検討しましたか? – MrGomez

答えて

3

キャストなしのif(c=='\'')をそのまま使用できます。または、39. if (c==39)であるアポストロフィのアスキー値を使用することもできます。

それは実際には 'もし((文字)C == '\'')に入った部分

は、このための唯一の理由は、あなたはisWordCharacter(にアポストロフィを渡すことができませんでしたん)。 39または'\''を手動でその機能に送信して確認することができます。

関連する問題