Ja va单引号和双引号区别
从Ja vaScript转过来的朋友,大概都体验过这种困惑:在JS里单引号和双引号基本可以混用,习惯成自然,到了Ja va里就容易踩坑。
先分享一个自己踩过的坑。写了一段判断字符是否为空格的小逻辑,编译时直接报错,查了半天才发现——单引号写成了双引号。别看就这么一个小小的符号差异,在Ja va里真是天壤之别。
关于Ja va中单引号和双引号的使用,有几个关键点必须记住:
- 单引号表示字符,双引号表示字符串。这是最根本的区别。
- 单引号包裹的数据类型是char,双引号的数据类型是String。
- 单引号里面只能放一个字符(字母、数字或符号),而双引号里面可以放0到多个字符。所以,字符可以直接转换成字符串,但字符串需要调用charAt(n)才能获取到第几个字符。
判断一个字符是否为空格
判断空格其实很简单,直接用单引号包围一个空格字符就行了,不需要调用Character.isSpace(char c)这样看起来更“专业”的方法。
if(ch[i] == ' '){
return true;
}
这种方式最直接,也最不容易出错。当然,如果你需要判断其他空白字符(比如换行符、制表符),Character.isSpaceChar(char c)也有它的适用场景。但单纯判断空格,上面这行代码足够了。
总结
从Ja vaScript到Ja va,语言之间这些微妙的差异,恰恰是编程学习中最容易出问题的地方。单引号和双引号在Ja va里可不是随便用的,char和String更是两个完全不同的物种。记住这些区别,避免踩坑。