【问题标题】:Java Beginner: Why Does char Use ' ' Instead of " "? [closed]Java初学者:为什么char使用''而不是“”? [关闭]
【发布时间】:2014-03-18 12:22:21
【问题描述】:

在Java 编程中' ' 用于char 是否有特定原因?

这可能是一个愚蠢的问题,但我想确切地知道为什么

【问题讨论】:

  • "" 用于字符串
  • '' 用于声明 char 文字,而 "" 用于声明 String 文字
  • 詹姆斯·高斯林或许可以回答这个问题。
  • 我猜它是从 C 继承的历史和优先级。要“确切地”知道为什么你必须问 James Gosling。这里发布的任何其他内容都是猜测和猜想。

标签: java


【解决方案1】:

因为string 使用双引号,它需要区分charstring

就像在指定数字时需要为 long 添加 L 和为浮点数添加 f 一样 - 它需要能够确定您所指的类型。

这是very good article 在 Java 中声明字符串文字。

【讨论】:

  • 我明白了!那讲得通。谢谢
  • 更多@this answer
  • @Ravinder 感谢您的链接。我要回去了。
  • @RGraham 您发布的链接。我将保存它以供将来参考。谢谢
【解决方案2】:

如果你的问题是,

为什么不对 String 和 char 使用双引号?

那么答案很明确:'a'"a" 完全不同。

另一方面,如果您的问题更多的是

为什么 Java 选择对 char 使用单引号,而不是我喜欢的东西?

那么就没有唯一(或有趣)的答案。 Java 的最初设计者选择了单引号;作为比较,Rich Hickey 为 Clojure 选择了反斜杠前缀,它也同样有效。

【讨论】:

  • 最后一个是我真正想问的。
【解决方案3】:

它只是为了区分单个字符和字符串。这个方法从C开始,一直到java

【讨论】:

  • 好的...非常感谢
【解决方案4】:

'' 用于 Characters 的主要原因是区分字符串(使用 "" 而不是 '')。

记住哪种类型使用哪种类型的引号的一个很酷的小技巧,记住字符串中如何可以包含多个字符(这就是它们使用“双”引号的原因)。另一方面,字符基本上是一个整数值,可以显示为单个字符(本质上是一个字母),这就是它们具有“单”引号的原因。

【讨论】:

    猜你喜欢
    • 2018-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多