问题标签 [apache-commons-lang3]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
352 浏览

java - StringEscapeUtils.escapeHtml/escapeHtml4 commons-lang 和 commons-lang3 不一致

单元测试显示 StringEscapeUtils.escapeHtml/escapeHtml4 不会产生相同的结果。

尝试将 commons-lang(2.6) 升级到 commons-lang3(3.9) 并在 escapeHtml/escapeHtml4 方法中发现奇偶校验不匹配。

我本来希望 commons-lang3 StringEscapeUtils.escapeHtml4() 产生与 commons-lang StringEscapeUtils.escapeHtml() 相同的结果。当然,这个测试是在整个 unicode 范围内,但仍然......

这些字符不再在 HTML4 中转义了吗?这不取决于您的编码吗?有没有办法强制 commons-lang3 在这方面表现得像 commons-lang?

0 投票
0 回答
233 浏览

java - Java:在示例 commons-lang3 `StringUtils` 上继承静态方法

我想建立org.apache.commons.lang3.StringUtils并添加特定于我的问题的某种方法。所以我尝试从公共类继承并编写

现在,我想在我的代码的另一部分中使用该public static boolean isEmpty(final CharSequence cs)方法org.apache.commons.lang3.StringUtils。我记得并且从这个线程中aString是一个CharSequence. 因此,我写

为什么我会收到错误消息:

在我的 IDE 中?

这里我得到“所有可访问的方法都由子类继承”的信息。其中,还指出

继承的静态(类)方法和继承的非静态(实例)方法的唯一区别是,当您编写具有相同签名的新静态方法时,旧的静态方法只是被隐藏,而不是被覆盖。

但是我没有isEmpty相同擦除的方法。


编辑

所以,感谢@luksch,我添加了一个方法

在我的StringUtils课堂上,这很有效。但是,为了进行测试,我想public static String center(final String str, final int size)从公共库中调用。所以我写

center我的子类没有任何方法StringUtils。所以我想,它会自动从org.apache.commons.lang3.StringUtils. 但是,我收到与上面相同的错误消息:

为什么?

0 投票
0 回答
583 浏览

apache-spark - 使用 Apache Commons Lang3 SerializationUtils.deserialize 时出现 java.lang.ClassNotFoundException

我在代码中使用了 Apache Commons Lang3 的 SerializationUtils。

SerializationUtils.serialize()

将自定义类作为文件存储到磁盘中

SerializationUtils.deserialize(byte[])

再次恢复它们。

在本地环境(Mac OS)下,所有序列化文件都可以正常反序列化,不会出错。但是当我将这些序列化文件复制到 HDFS 并使用 Spark/Scala 从 HDFS 读取它们时,会发生 SerializeException。

Apache Commons Lang3 版本是:

反序列化代码如下:

火花代码是:

以上代码在Spark本地模式下都可以成功运行,但是在Yarn集群模式下运行时会报错。堆栈错误如下:

我检查了从本地和 HDFS 加载的字节 [] 的长度是否相同。但是为什么不能从 HDFS 反序列化呢?

0 投票
0 回答
112 浏览

concurrency - commons-lang3中“LazyInitializer”的代码怎么理解

这些天我正在研究 apache-commons-lang3 的源代码。我无法理解对“LazyInitializer”类的方法“get()”的评论。

那么“LazyInitializer.get()”的两种实现有什么区别呢?

apache-commons-lang3 中的默认实现:

我的实现:

我不明白为什么要这样设计或有什么好处?

0 投票
1 回答
510 浏览

java - Apache Commons Lang:“lang”和“lang3”之间的“不兼容”会导致不同的运行时结果吗?

我的代码使用 Apache Commons Lang v.2 ( commons-lang)。如果我更新我的代码以使用 v.3 ( commons-lang3) 代替,我是否应该担心我的代码可能会开始表现不同(当然,由于已修复的错误和可能的新错误导致的差异除外,这是正常的,不算数) ?

换句话说,是否可以lang3拥有也在lang(具有完全相同的签名)但可能在两个版本中返回不同结果的方法?

Apache 确实提到了向后不兼容,而且非常清楚,但我总是从它们破坏编译的意义上理解这些不兼容,而不是从同一种方法可以返回不同结果的意义上理解。

我之所以这样问,是因为有人向我声称,促使 Apache 将包重命名为 to 的一些向后不兼容是lang可能lang3返回不同结果的方法。我相信这是一个错误的主张,对我来说这很重要,因为我总是很乐意用我偶然发现的所有 s 替换langlang3import只检查它是否仍然可以编译,我真的认为我是对的,但是现在,由于这些说法,我被告知停止,我认为这是错误的,但我没有任何信息可以用来反驳这些说法并被允许继续。

0 投票
3 回答
707 浏览

java - 如何检查给定的字符串转换为long是否是EpochMills?

嗨有没有办法检查给定的字符串是否是纪元毫秒

java.time 包中的以下代码转换为 EpochMillis。

我正在寻找 isEpochMillis 返回一个布尔条件。

有没有来自 apache commons 或 google guava 的现成 api 来检查这个?就像 isDouble isLong 等...

0 投票
2 回答
1156 浏览

java - Apache lang3 有效,但 Apache lang 无效。为什么?

我已经使用 starter parent pom 版本 2.0.3 实现了 spring boot 项目。当我尝试使用

它抛出错误导入无法解决。即使我的 m2 文件夹(C:\Users\.m2\repository\org\apache\commons)安装了 lang 包(commons-lang 文件夹)。我也有 commons-lang3 文件夹。如果我将导入更改为

它工作正常。

我在其他 spring boot 项目中有相同版本的 starter pom,我可以在那里使用 commons.lang。无法确定根本原因。

0 投票
0 回答
142 浏览

java - apache lang3:3.9 RandomStringUtils 正则表达式的奇怪行为

我得到了奇怪的行为apache.commons.lang3:3.9(但在 3.5 中一切正常)。

RandomStringUtils.random用来生成长度为 350 的字符串。它匹配正则表达式(有 300 个限制)。

我看不到此字符串中生成的任何特殊符号。并且 string.length() 是 350。

CodePoints 的价值:

对于 lang3:3.9:codePointCount 为 197。对于 lang3:3.5:codePointCount 为 293。此值可能因运行而异。

0 投票
0 回答
11 浏览

java - 使用 javac -cp "commons-lang3-3.10.jar" 编译时,带有 jar 文件的线程“Thread-1”NoClassDefFoundError 出现异常

我在尝试运行多命令窗口服务器应用程序时收到错误消息。我正在使用 -cp "commons-lang3-3.10.jar" 文件编译客户端和服务器,但我继续遇到此异常。我已附上错误图像的链接。该程序首先运行并等待接受客户端连接...,但是当我打开第二个命令窗口并运行我的 ChatClient 时,我得到了错误。我目前正在使用 Ubuntu 虚拟机。

https://imgur.com/a/PMntiYU

0 投票
2 回答
103 浏览

java - Apache Commons HashCodeBuilder:数字类型的 null 与零

最近,我在使用 Apache Commons Lang 3 的 Java 代码库中遇到了以下哈希码“相等”场景,令我惊讶的是,我找不到太多关于如何处理这似乎是常见问题的信息:

前面的代码产生以下输出,这表明两个对象具有相同的哈希码,尽管它们不相等:

我的对象定义:

虽然我可以理解一个 null Numeric 和 0 Numeric 在纯数学意义上具有相同的散列,但在任何实际设置中,这都会导致不相等的对象具有相同的散列码,这可能会导致相当严重的冲突问题。

澄清/复杂化:虽然我希望能够只调用equals()hashcode()对象,但不幸的是,我正在使用的代码库正在比较两个Objects,这意味着我不知道是否equals()hashcode()实际上是为任何给定输入定义的,而且我在缺少这些方法的情况下,我无法编辑类定义以添加这些方法。这可能是该代码的原作者选择使用reflectionHashCode(). 考虑到这一点,是否有针对此问题的编程/基于代码的解决方案或解决方法,例如不需要equals()hashcode()在被比较的对象上定义的替代库?