jls

    10热度

    2回答

    我最近安装了Checkstyle插件,用于Eclipse,并且个人认为它太棒了。但它给我的警告之一有点模糊。确切的警告是“不允许使用++”。它是关于后缀++在某一行像 for(int i = 0; i < SOMETHING; i++) 好吧,我很清楚,foreach是迭代更好的建设,但不能处处适用,有时老派++是唯一的选择。 当我改变该行 for(int i = 0; i < SOMETHI

    10热度

    10回答

    考虑这个功能: public static final int F(int a, int b) { a = a - 1 + b; // and some stuff return a; } 需要它的JVM中的实现执行- 1+ b过吗? 如果我们有一个系统分析器连接到JVM,我们会看到在+ 1操作之前执行了+ b操作吗?

    1热度

    1回答

    public @interface InnerAnnotation { String value() default "hello"; } public @interface OuterAnnotation { InnerAnnotation value() default ??? } 而更多的情况 : public @interface AnotherOuterA

    5热度

    2回答

    这是由this question直接启发。 有很多引用/声明,位运算符应用于布尔值时不会短路。换句话说,boolean a = f() & g(),其中f()和g()都返回布尔值,两个总是会被评估。 然而,JLS只是说: 15.22.2布尔逻辑运算符&,^和| 当两个操作数的一个&,^或|运算符是布尔类型或布尔类型,那么位运算符表达式的类型为布尔型。在所有情况下,操作数 必要时都会进行拆箱转换(§

    0热度

    2回答

    从Java语言规范,Section 3.10.5 String Literals: 性状可以通过转义序列来表示 - 在U + 0000到U + FFFF的范围的字符一个转义序列,对于UTF-16代理代码的两个换码序列U + 010000至U + 10FFFF范围内的字符单位。 这是什么意思?如果一个字符在U + 0000到U + FFFF的范围内,则可以使用一个转义序列。两个转义序列中的一个转义序

    1热度

    1回答

    Java语言规范是否规定了在子类中重写方法的规则? 似乎无法在JLS中找到它。

    0热度

    2回答

    可能重复: Java pass by reference issue 在我下面的代码,methodA将被调用,然后委托调用methodB,这样做,methodB用字符串文字“bbb”分配输入参数,但是,返回methodA,字符串文字不在那里,JLS的哪一部分定义了这种行为? package sg.java.test2; public class TestApple { public

    33热度

    2回答

    我有3类: public class Alpha { public Number number; } public class Beta extends Alpha { public String number; } public class Gama extends Beta { public int number; } 为什么下面的代码编译?而且

    1热度

    1回答

    我明白字符串进行拘留,但它创造了一个新的String对象时所宗教进行的动作? JLS节3.10.5字符串文字。

    2热度

    2回答

    如果我坐在工作中,我可以轻松地编写一些java代码 - 我只是使用我公司的域名作为包名,我甚至都没有想到。 如果我坐在家里,而我没有域名,那么我的包名是什么? JSL不说 - 它建议使用Internet域名。不过,它确实提到了本地和休闲软件包名称 本节指定用于生成此类唯一软件包名称的建议惯例。鼓励为Java平台实现 以提供自动支持,以将本地和临时程序包名称中的一组 程序包转换为此处描述的唯一名称格