- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在 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/
这对你们来说可能很简单,但由于我是java新手,所以我想知道实际上什么是 接下来的部分会发生什么? if (args.length > 0) { file = args[0]; } publi
在我的 View Controller 中,我将 UITapGestureRecognizer 添加到 self.view。我在 self.view 之上添加了一个小 View 。当我点击小 View
我今天尝试从 Obj-C 开始并转到 Swift,我正在阅读文档。我试图在 Swift 中创建一个简单的 IBOutlet,但它不断给我这些错误。 View Controller 没有初始化器 req
我正在尝试使用 VIM 完成(字典和当前缓冲区),但我遇到了问题?和 !在方法名称的末尾。我能以某种方式向 vim 解释方法名称(基本上是单词)最后只能有它,而且只有一个,即 method_name
我是一名优秀的程序员,十分优秀!