将枚举器添加到Java枚举中会破坏ABI吗?

时间:2017-09-29 15:55:00

标签: java jvm abi jls jvm-bytecode

例如,在我的代码中有

public enum Color { RED, BLACK }

我稍后再添加颜色,即

public enum Color { RED, BLACK, BLUE }
这会打破ABI吗?也就是说,我的用户是否需要重新编译他的Java类?

1 个答案:

答案 0 :(得分:2)

没有。根据{{​​3}}:

  

26年4月13日。枚举的演变

     

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

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