Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何检查字符是否为撇号?_Java_Char - Fatal编程技术网

Java 如何检查字符是否为撇号?

Java 如何检查字符是否为撇号?,java,char,Java,Char,我需要检查一个字符是否是撇号。这是我目前的代码: public boolean isWordCharacter(int c) { if ((char) c == '\'') return true; else return Character.isLetter(c); } 但是,它实际上从未进入if((char)c=='\'')部分。我检查的方式有问题吗?谢谢 if(c=='\'')无需强制转换即可使用if(c=='\'')。或者可以使用撇号的ascii值,即39如果(c==39)就可

我需要检查一个字符是否是撇号。这是我目前的代码:

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

但是,它实际上从未进入
if((char)c=='\'')部分。我检查的方式有问题吗?谢谢

if(c=='\'')
无需强制转换即可使用
if(c=='\'')
。或者可以使用撇号的ascii值,即39<代码>如果(c==39)就可以了

它实际上从未进入“if((char)c==”\''部分


唯一的原因是您永远不能将撇号传递给isWordCharacter()。您可以通过手动将
39
'\''
发送到该函数来验证它;你的问题肯定在别处。这本身不是一个答案,但平面字符解析表明了一些潜在的反模式。“你考虑过你的需要吗?”戈麦斯先生,我不完全相信这一点,只是因为正则表达式有相当大的开销。如果你一次只关心一个字符,正则表达式可能会被过度使用。@LouisWasserman我也不是。我只是觉得把它放在那里是礼貌的,只要它能更好地满足OP(和在这里搜索的人)的需要。:)刚刚试过你的代码。它很好用。也许c参数是错误的。你能告诉我们对isWordCharacter()的调用吗。