问题标签 [jls]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
768 浏览

java - Java 保护修饰符

我刚刚遇到涉及受保护修饰符的奇怪错误。

我有以下代码:

我收到错误消息,指出doIt()访问受保护且无法访问!但是我在子类中,并且确实可以访问doIt()方法。

这不是一个错误吗?

0 投票
5 回答
5915 浏览

java - Java in 运算符

第 100 万次,我希望使用INJava 中的运算符,类似于INSQL 中的运算符。它可以作为编译器语法糖来实现。所以这

......真的很棒。实际上,以上内容与此处相当冗长(且不适用于原语)的构造相同:

或者像这样的int,long和类似的类型:

或者也许会有更有效的实现。

问题:

像这样的东西会成为 Java 8 的一部分吗?如果没有,我怎么能提出这样的建议?还是我现在可以使用任何等效的构造?

0 投票
5 回答
193 浏览

java - 为什么 String 类是这样设计的?

为什么这个String类的设计方式是这个类的实例是池化的并且是不可变的?

谢谢和问候,维迪亚卡尔夏尔马。

0 投票
2 回答
831 浏览

java - Java 字符串字面量定义中的“转义序列”是什么意思?

来自 Java 语言规范,第 3.10.5 节字符串文字

字符可以由转义序列表示 - 一个转义序列用于 U+0000 到 U+FFFF 范围内的字符,两个转义序列用于 U+010000 到 U+10FFFF 范围内字符的 UTF-16 代理代码单元。

这是什么意思?如果一个字符在 U+0000 到 U+FFFF 的范围内,那么可以使用一个转义序列。一个转义序列与两个转义序列有何不同?

通过转义序列,它指的是\n,\r和类似的吗?这是一个序列还是两个转义序列?

0 投票
1 回答
260 浏览

java - Java 语言规范是否规定了子类中方法覆盖的规则?

Java 语言规范是否规定了子类中方法覆盖的规则?

在 JLS 中似乎找不到这个。

0 投票
2 回答
150 浏览

java - Java 浅拷贝和深拷贝 JLS

可能重复:
Java 通过引用传递问题

在我下面的代码中,methodA将被调用,然后将调用委托给methodB,在此过程中,methodB使用字符串文字“bbb”分配输入参数,但是,回到methodA,字符串文字不存在,JLS 的哪个部分定义了这个行为?

0 投票
1 回答
154 浏览

java - 存储在字符串池中的字符串是否是唯一的?

我知道字符串可能会被实习,但它是在创建新字符串对象时虔诚地执行的操作?

Jls 第 3.10.5 节字符串文字。

0 投票
2 回答
307 浏览

java - 我需要域名来编写 Java 代码吗?

如果我坐在工作中,我可以轻松编写一些 java 代码——我只是使用我的公司域名作为包名,我什至不假思索就这样做了。

如果我坐在家里并且没有域名,我的包裹名称应该使用什么?

JSL 没有说 - 它建议使用 Internet 域名。但是,它确实提到了本地和休闲包名称

本节指定了生成此类唯一包名称的建议约定。鼓励 Java 平台的实现为将一组包从本地和临时包名称转换为此处描述的唯一名称格式提供自动支持。

我以前没有遇到过任何可以转换包名称的东西,我不太确定它在实践中是如何工作的。

所以,我的问题是双重的:如果我没有域名,我应该使用什么包命名,如果我走“本地”或“休闲”路线,转换机制是什么?

0 投票
5 回答
12375 浏览

java - 注释属性必须是类文字?为什么?常量也应该没问题

有人可以解释为什么 String 和 Class 注释参数的预期不同吗?为什么编译器需要类的文字,而同时接受字符串的常量?

使用 Spring 的 @RequestMapping 的工作示例:

带有 TestNG 的 @Test 的 WTF 示例:

当然起作用的是@Test(expectedExceptions = RuntimeException.class)。但为什么?我看到的注解参数的唯一区别是它的类型:String vs Class。为什么 Java 编译器也接受 String 常量但只接受类文字?

0 投票
2 回答
1557 浏览

java - 为什么在构造标准中使用前缀增量被认为比后缀增量更好

我最近为Eclipse安装了Checkstyle插件,个人认为它很棒。但它给我的警告之一有点模糊。确切的警告是“不允许使用”。它是关于某些行中的后缀,例如++++

好的,我知道这foreach是迭代的更好构造,但它不能在任何地方应用,有时老派++是唯一的选择。

当我将行更改为

警告消失。我知道我生命中的这一点之间的区别,i++++i认为它们在标准for结构中是可以互换的。但 Checkstyle 认为i++有害(或容易出错)。

问题:为什么在结构中前缀递增优于后缀递增for?或者... Checkstyle 是不是错了?