【发布时间】:2014-01-04 23:05:44
【问题描述】:
为什么 Java 要求 char 变量用单引号而不是双引号将其中的任何内容括起来?一个例子:
char s = 's'; //This will not break
对比:
char s = "s"; //This will break
我了解双引号主要用于字符串,但是否有特定原因说明为什么将字符构建为仅使用单引号并在输入双引号时中断?
我试图做一些研究,但唯一相关的是另一个 SO Question,它指的是单引号和双引号之间的区别,而不是 char 语法发展背后的推理。
【问题讨论】:
-
因为语言是这样定义的?我不确定这里有什么深刻的见解......
-
也许这样就类似于
c:stackoverflow.com/questions/3683602/… -
双精度和浮点数与 3.1 和 3.1f 相同。必须有某种方式来标记差异,这就是我们选择的方式
-
您将单引号与 char literals 一起使用,而不是与 char 变量一起使用。所以问题归结为为什么词法语法是这样的?