如何检查一个字符是否等于一个空的空间?
这是我得到的:
private static int countNumChars(String s) { for(char c : s.toCharArray()){ if (Equals(c," ")) } } 但是该代码表示无法find该方法的符号。 我记得Java有这样的比较器…有什么build议吗?
 if (c == ' ') 
  char是一个原始的数据types,所以它可以与==比较。 
 此外,通过使用双引号,您创buildString常量( " " ),而与单引号它是一个char常量( ' ' )。 
你需要的代码取决于你的意思是“一个空的空间”。
- 
如果您的意思是ASCII / Latin-1 / Unicode空格字符(0x20)又名SP,则: if (ch == ' ') { // ... }
- 
如果您的意思是任何传统的ASCII空格字符(SP,HT,VT,CR,NL),那么: if (ch == ' ' || ch == '\t' || ch == '\r' || ch == '\n' || ch == '\x0b') { // ... }
- 
如果你的意思是任何Unicode空格字符,那么: if (Character.isWhitespace(ch)) { // ... }
 请注意,Unicode空格包含额外的 ASCII控制代码, 以及更高代码层中的一些其他Unicode字符; 请参阅Character.isWhitespace(char)的javadoc。 
你写的是这样的:
  if (Equals(ch, " ")) { // ... } 
 这在许多层面上是错误的。 首先,Java编译器尝试解释的方式是调用具有boolean Equals(char, String)签名的方法。 
- 这是错误的,因为没有方法存在,因为编译器在错误消息中报告。
-  无论如何, Equals通常不会是方法的名称。 Java约定是方法名以小写字母开头。
-  你的代码(正如所写的)试图比较一个字符和一个string,但是char和String是不可比较的,不能转换为一个通用的基本types。
在Java中有比较器这样的东西,但它不是一个方法的接口,它是这样声明的:
  public interface Comparator<T> { public int compare(T v1, T v2); } 
 换句话说,方法名称是compare (不Equals ),它返回一个整数(而不是布尔值),它比较两个可以提升到type参数给定types的值。 
有人(在删除答案!)说他们试过这个:
  if (c == " ") 
这失败的原因有两个:
- 
" "是一个string文字而不是字符文字,Java不允许直接比较String和char值。
- 
你应该永远不要使用 ==比较string或string。 引用types的==运算符比较对象标识,而不是对象值。 在String的情况下,通常有不同的对象具有不同的身份和相同的值。 一个==testing通常会给出错误的答案 …从你想要在这里做什么的angular度来看。
 由于char是一个原始types,所以你可以只写c == ' ' 。 
 你只需要调用equals()来引用types如String或Character 。 
你可以使用
 Character.isWhitespace(c) 
或Character类中的其他可用方法。
  if (c == ' ') 
也有效。
我的build议是:
 if (c == ' ') 
 要比较字符,请使用==运算符: 
 if (c == ' ') 
 在这种情况下,您正在考虑string比较函数"String".equals("some_text") 。 字符不需要使用这个function。 相反,一个标准的==比较运算符就足够了。 
 private static int countNumChars(String s) { for(char c : s.toCharArray()){ if (c == ' ') // your resulting outcome } } 
乍一看,你的代码不会被编译。 由于嵌套if语句没有任何大括号,因此它会考虑下一行代码执行。 此外,你正在比较一个string,“”。 尝试将值作为字符进行比较。 我认为正确的语法是:
 if(c == ' '){ //do something here } 
 但是再次,我对"Equal"课不熟悉 
你可以试试:
 if(Character.isSpaceChar(ch)) { // Do something... } 
要么:
 if((int) ch) == 32) { // Do something... } 
 Character.isSpaceChar(c) || Character.isWhitespace(c)  Character.isSpaceChar(c) || Character.isWhitespace(c)为我工作。 
 要比较Strings你必须使用equals关键字。 
 if(c.equals("")) { }