相关疑难解决方法(0)

Java:未解决的编译问题

"java.lang.Error:Unresolved compilation problem"的可能原因是什么?

附加信息:

在现有JAR之上从构建中复制一组更新的JAR文件并重新启动应用程序之后,我已经看到了这一点.JAR是使用Maven构建过程构建的.

如果接口改变,我希望看到LinkageErrors或ClassNotFound错误.上述错误暗示了一些较低级别的问题.

干净的重建和重新部署解决了这个问题.此错误是否表示JAR已损坏?

java

66
推荐指数
4
解决办法
18万
查看次数

1/0是合法的Java表达式吗?

以下在我的Eclipse中编译得很好:

final int j = 1/0;
// compiles fine!!!
// throws ArithmeticException: / by zero at run-time
Run Code Online (Sandbox Code Playgroud)

Java的防止了许多"哑代码"从甚至在首位编译(如"Five" instanceof Number不编译),所以其实这甚至没有产生尽可能多的警告是非常令我感到诧异.当您考虑允许在编译时优化常量表达式这一事实时,阴谋会加深:

public class Div0 {
    public static void main(String[] args) {
        final int i = 2+3;
        final int j = 1/0;
        final int k = 9/2;
    }
}
Run Code Online (Sandbox Code Playgroud)

在Eclipse中编译,上面的代码片段生成以下字节码(javap -c Div0)

Compiled from "Div0.java"
public class Div0 extends java.lang.Object{
public Div0();
  Code:
   0:   aload_0
   1:   invokespecial   #8; //Method java/lang/Object."<init>":()V
   4:   return

public static void main(java.lang.String[]);
  Code:
   0: …
Run Code Online (Sandbox Code Playgroud)

java divide-by-zero

37
推荐指数
2
解决办法
1万
查看次数

标签 统计

java ×2

divide-by-zero ×1