这似乎是一个愚蠢的问题,所以我会尽可能简短。
在我工作的地方,我们处理了许多在旧版Java上编译的Java应用程序,实际上我们最近将其中一个升级到了Java 1.6
我们最近获得了新的笔记本电脑,没有管理员权限,默认情况下安装了Java 7.
我目前无法掌握并安装JDK 1.5(我需要)的副本
在Eclipse中,如果我将JDK Compliance级别设置为1.5,但Installed JRE为1.7
这两个陈述中哪一个是真的......?
1。我正在Java 1.5中构建我的代码? 2.我在Java 7上构建我的代码?
我在这个问题上见过各种各样的人,并且我仍然不是明智的。
答案 0 :(得分:2)
这意味着从源代码生成的字节代码将符合1.5 JRE。
语法高亮显示器不允许您执行1.6,1.7的新功能,例如切换字符串。
答案 1 :(得分:1)
原则上可以使用高于目标平台的JDK进行开发,使用“合规性设置”和/或使用javac进行目标版本切换。
然而,对于进行实际开发而言,它实际上并不可行,因为没有任何东西会阻止/警告您使用已安装的JDK中存在的API而不是目标平台中的API。
例如,如果您使用已安装的1.5开发java 1.4,而编译器不允许您使用自动装箱(1.5中引入),但它很乐意让您使用(例如)Integer.valueOf(int )。这在1.4中没有。