1

例如,在我的代码中有

public enum Color { RED, BLACK }

我稍后添加颜色,即

public enum Color { RED, BLACK, BLUE }

这会破坏 ABI 吗?也就是说,我的用户是否需要重新编译他的 Java 类?

4

1 回答 1

3

不,根据Java 语言规范

13.4.26。枚举的演变

在枚举中添加或重新排序常量不会破坏与预先存在的二进制文件的兼容性。

请注意,即使重新排序也能保持兼容性,这与 C/C++/C# 不同。

于 2017-09-29T15:55:00.090 回答