Java ApacheCommonsLang3和ApacheCommonsText之间有什么区别?

Java ApacheCommonsLang3和ApacheCommonsText之间有什么区别?,java,apache-commons,apache-commons-lang3,Java,Apache Commons,Apache Commons Lang3,我想知道Apache Commons Lang3(org.Apache.Commons.Lang3)和Apache Commons文本(org.Apache.Commons.Text)之间的区别是什么 我看到他们之间有许多相似之处。 对于intance,它们都有StringEscapeUtils: ,已弃用 但我也看到了许多不同之处。 那么我应该使用哪一种语言,Lang3还是Text? 或者这两种方法的常见用例是什么?嗯,text方法声明 此代码改编自ApacheCommonsLang3.

我想知道Apache Commons Lang3(
org.Apache.Commons.Lang3
)和Apache Commons文本(
org.Apache.Commons.Text
)之间的区别是什么

我看到他们之间有许多相似之处。
对于intance,它们都有
StringEscapeUtils

  • ,已弃用
但我也看到了许多不同之处。
那么我应该使用哪一种语言,Lang3还是Text?

或者这两种方法的常见用例是什么?

嗯,
text
方法声明

此代码改编自ApacheCommonsLang3.5

看起来他们只是计划将方法从一个库移动到另一个库。你必须让代码的作者解释原因

但是,值得指出的是,
lang3
text
的编译依赖项,因此,如果您包含
text
,您无论如何都会使用
lang3


阅读您自己链接到的文档。commons-lang3版本已被弃用,取而代之的是commons文本版本。我想你发现的其他相似之处也会有类似的反对理由/信息。简单的建议。避免使用任何不推荐使用的API“……因此,如果您包含文本,您将使用lang3”。除非他们决定改变实施方式!。依赖未记录的依赖项不是一个好主意。@StephenC未记录的依赖项在哪里?这些项目服务于不同的目的——一个是对另一个的依赖。我不支持ApacheCommons,所以我无法回答他们为什么要在您询问的项目之间复制代码。javadocs中没有记录它。你认为如果他们重构
文本
,他们会犹豫从POM文件中删除“lang3”依赖项吗?他们不太可能考虑需要使用API的人的“边缘情况”。如果应用程序程序员确实希望/需要在其代码中同时使用
lang3
text
,那么谨慎的做法是对两者都有明确的依赖关系。参考:-“已使用未声明的依赖关系”