【问题标题】:Can we call numbers outside of java code "literals"?我们可以将Java代码之外的数字称为“文字”吗?
【发布时间】:2018-06-29 19:05:56
【问题描述】:

this question 中的一条评论说,Java 代码之外的数字 称为 literal。文字是否仅适用于 java 代码?
我们不能说 .properties 文件中的以下数字是文字吗?

min-socre=20

【问题讨论】:

  • 从技术上讲,您在该属性文件中拥有的是表示字符串的字节序列。这当然不是文字。
  • 默认为 UTF-8 编码字节序列。
  • 所以 min-score 是一个变量。对吗?
  • @Mahozad 不,两者都以字符串结尾。一个是属性的Map中的key,另一个是它对应的值

标签: java literals properties-file


【解决方案1】:

literal 是直接写在源代码中的固定值。这是最简单的定义:代码内的固定值。 .properties 文件不是代码文件,因此其中的数字不是文字。

【讨论】:

    【解决方案2】:

    我们不能说 .properties 文件中的以下数字是文字吗?

    你怎么知道这是一个数字?字符“2”和“0”的连接可以解释为数字 20 的表示,但也可以解释为字符串“20”的表示。当然还有其他解释。

    术语“literal”在 Java 代码上下文中具有特定含义,并且该特定含义不适用于其他文件。它甚至不一定适用于用其他语言编写的源文件。例如,C 有字符串文字,但有整数 constants。在更一般的上下文中,很少以这种方式使用术语“文字”,因为将 Java 文字与其他相同类型的表达式区分开来的关键特征要么没有出现,要么并不重要。

    在某种意义上,您当然可以将属性值描述为“文字”。由于 .properties 文件主要是 Java 的东西,因此您可能会说的大多数人可能会理解您。但他们中的许多人可能会奇怪地看着你。这个词的用法并不真正适用于这种情况。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-20
      • 1970-01-01
      • 2016-08-09
      • 2011-12-04
      • 2020-10-02
      • 2019-02-11
      • 2018-04-29
      • 2012-08-26
      相关资源
      最近更新 更多