【发布时间】:2012-04-22 07:39:24
【问题描述】:
我需要检查一个字符是否是撇号。到目前为止,这是我的代码:
public boolean isWordCharacter(int c) {
if ((char) c == '\'')
return true;
else return Character.isLetter(c);
}
但是,它从未真正进入if ((char) c == '\'') 部分。我检查的方式有问题吗?谢谢!
【问题讨论】:
-
该代码对我来说看起来不错;你的问题一定出在其他地方。
-
本身不是一个答案,但扁平字符解析表明了一些潜在的反模式。您是否考虑过Java's regular expression facilities 来满足您的需求?
-
@MrGomez,我并不完全相信这一点,因为正则表达式有相当大的开销。如果您一次只关心一个字符,那么正则表达式可能会有点过头了。
-
@LouisWasserman 我也不是。我只是觉得把它放在那里是礼貌的,当且仅当它更好地满足 OP(以及人们在这里谷歌搜索)的需求时。 :)
-
刚刚尝试了您的代码。它工作正常。也许 c 参数是错误的。你能告诉我们对 isWordCharacter() 的调用吗?