我的代码使用 Apache Commons Lang v.2 ( commons-lang
)。如果我更新我的代码以使用 v.3 ( commons-lang3
) 代替,我是否应该担心我的代码可能会开始表现不同(当然,由于已修复的错误和可能的新错误导致的差异除外,这是正常的,不算数) ?
换句话说,是否可以lang3
拥有也在lang
(具有完全相同的签名)但可能在两个版本中返回不同结果的方法?
Apache 确实提到了向后不兼容,而且非常清楚,但我总是从它们破坏编译的意义上理解这些不兼容,而不是从同一种方法可以返回不同结果的意义上理解。
我之所以这样问,是因为有人向我声称,促使 Apache 将包重命名为 to 的一些向后不兼容是lang
可能lang3
返回不同结果的方法。我相信这是一个错误的主张,对我来说这很重要,因为我总是很乐意用我偶然发现的所有 s 替换lang
,lang3
我import
只检查它是否仍然可以编译,我真的认为我是对的,但是现在,由于这些说法,我被告知停止,我认为这是错误的,但我没有任何信息可以用来反驳这些说法并被允许继续。