gpt4 book ai didi

java - Java 中类文字的类型到底是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:18:19 25 4
gpt4 key购买 nike

在 Java 教程中 http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html ,类文字被称为“文字类型”

Finally, there's also a special kind of literal called a class literal, formed by taking a type name and appending ".class"; for example, String.class. This refers to the object (of type Class) that represents the type itself.

但在 Java 规范中http://docs.oracle.com/javase/specs/jls/se7/html/ , class literals 没有放在 3.10 Literals 类型下,而是放在 15.8 下。主要表达

那是为什么呢?

最佳答案

what exactly is the type of class literal in Java?

删除类型为java.lang.Class .

非删除类型Foo.class将是 java.lang.Class<Foo> .


它在 JLS 中作为主要表达式的原因是技术性的:

  • 类文字不是单一文字。它是三个(或更多)不同的符号组合在一起形成这种“恒定的,字面上的东西”。

  • 他们决定它为文字,因为该值是常量。

  • 从句法的角度来看,它必须进入与(其他)主要表达式相同的语法部分......以便语法描述语言而不会产生大量歧义/上下文敏感性.

所以它真的可以放在 JLS 的任何一个地方。但他们必须把它放在一个地方。由于 Literal 部分中的其他文字是单一的(即一个符号),因此将其放入 Primary Expression 部分是有意义的。

但归根结底,他们决定以这种方式组织 JLS 的原因并不重要。类文字的含义不取决于指定的位置。

关于java - Java 中类文字的类型到底是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16247729/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com