为什么这个程序会导致运行时错误?

时间:2011-07-12 07:25:20

标签: java unsupported-class-version

class Test {
    public static void main(String args[])
    {
        Boolean expr = true;
        if (expr)
        {
            System.out.println("true");
        }
        else
        {
            System.out.println("false");
        }
    }
}

编辑:
错误是java.lang.UnsupportedClassVersionError

6 个答案:

答案 0 :(得分:4)

Static应为小写:static

答案 1 :(得分:2)

检查此链接

java.lang.UnsupportedClassVersionError: why is it thrown & how to resolve?

  

如何解决UnsupportedClassVersionError?

     

每当遇到此错误时,请检查您是否使用过早期错误   JVM的版本比相应的执行类文件   用于编译源代码的编译器版本。这个例子   这里显示的是使用Java 5.0编译器编译的,但是当我尝试时   使用JVM 1.4运行,我得到了上述错误。我只需要切换   要么是JVM 5.0或更高版本,要么是需要切换到Java   JDK 1.4或更低版本的编译器(您当然需要确保   源代码与相应版本兼容   编译器,否则你将开始得到其他编译器错误。)

     

在大多数情况下,较高的JVM版本不会导致问题,除非   类文件格式很旧(因此不在于   Sun为该特定JVM版本指定的受支持范围   ......如上所述)。但是,拥有两者都是一个好习惯   编译器和相同版本的JVM。

答案 2 :(得分:1)

这不是运行时错误。这不会编译。

使用static(小写s)代替Static

答案 3 :(得分:1)

静态应该是小写的,我相信你需要它成为一个公共类。另外,为什么你使用布尔而不是布尔值,这里不需要包装类型。

答案 4 :(得分:1)

此代码(如果使用JDK 5及更高版本,因为自动装箱/取消装箱)在没有任何RuntimeException的情况下运行良好,并且它将在控制台上显示true

答案 5 :(得分:1)

我认为你正在编译一个版本的java并与另一个版本一起运行。更清楚的是,您正在使用更高版本的Java进行编译并使用早期版本运行。

您是否在IDE中编译并运行此类?