Java 版本之间是否存在向后不兼容的具体示例?
Java 版本之间是否存在不兼容性,Java 源代码/Java 类文件针对 Java 版本 X 无法在版本 Y(其中 Y > X)下编译/运行?
Have there been incompatibilities between Java releases where Java source code/Java class files targeting Java version X won't compile/run under version Y (where Y > X) ?
Java 版本"是指以下版本:
By "Java release" I mean versions such as:
- JDK 1.0(1996 年 1 月)
- JDK 1.1(1997 年 2 月)
- J2SE 1.2(1998 年 12 月)
- J2SE 1.3(2000 年 5 月)
- J2SE 1.4(2002 年 2 月)
- J2SE 5.0(2004 年 9 月)
- Java SE 6(2006 年 12 月)
家规:
- 请尽可能提供参考资料和代码示例.
- 请尽量在您的回答中非常具体/具体.
- 被标记为@Deprecated 的类不算作向后不兼容.
推荐答案
各种版本的兼容性说明:
Compatibility notes for various versions:
- Java 1.4
- Java 5
- Java 6
- Java 7
- Java 8
我记得的第一个重大问题是在 Java 1.4 中引入了 assert
.它影响了很多 JUnit 代码.
The first major hiccup I remember was the introduction of assert
in Java 1.4. It affected a lot of JUnit code.
相关文章