问题标签 [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.
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?
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
. 但是,我收到与上面相同的错误消息:
为什么?
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 反序列化呢?
concurrency - commons-lang3中“LazyInitializer”的代码怎么理解
这些天我正在研究 apache-commons-lang3 的源代码。我无法理解对“LazyInitializer”类的方法“get()”的评论。
那么“LazyInitializer.get()”的两种实现有什么区别呢?
apache-commons-lang3 中的默认实现:
我的实现:
我不明白为什么要这样设计或有什么好处?
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 替换lang
,lang3
我import
只检查它是否仍然可以编译,我真的认为我是对的,但是现在,由于这些说法,我被告知停止,我认为这是错误的,但我没有任何信息可以用来反驳这些说法并被允许继续。
java - 如何检查给定的字符串转换为long是否是EpochMills?
嗨有没有办法检查给定的字符串是否是纪元毫秒
java.time 包中的以下代码转换为 EpochMillis。
我正在寻找 isEpochMillis 返回一个布尔条件。
有没有来自 apache commons 或 google guava 的现成 api 来检查这个?就像 isDouble isLong 等...
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。无法确定根本原因。
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。此值可能因运行而异。
java - 使用 javac -cp "commons-lang3-3.10.jar" 编译时,带有 jar 文件的线程“Thread-1”NoClassDefFoundError 出现异常
我在尝试运行多命令窗口服务器应用程序时收到错误消息。我正在使用 -cp "commons-lang3-3.10.jar" 文件编译客户端和服务器,但我继续遇到此异常。我已附上错误图像的链接。该程序首先运行并等待接受客户端连接...,但是当我打开第二个命令窗口并运行我的 ChatClient 时,我得到了错误。我目前正在使用 Ubuntu 虚拟机。
java - Apache Commons HashCodeBuilder:数字类型的 null 与零
最近,我在使用 Apache Commons Lang 3 的 Java 代码库中遇到了以下哈希码“相等”场景,令我惊讶的是,我找不到太多关于如何处理这似乎是常见问题的信息:
前面的代码产生以下输出,这表明两个对象具有相同的哈希码,尽管它们不相等:
我的对象定义:
虽然我可以理解一个 null Numeric 和 0 Numeric 在纯数学意义上具有相同的散列,但在任何实际设置中,这都会导致不相等的对象具有相同的散列码,这可能会导致相当严重的冲突问题。
澄清/复杂化:虽然我希望能够只调用equals()
或hashcode()
对象,但不幸的是,我正在使用的代码库正在比较两个Object
s,这意味着我不知道是否equals()
或hashcode()
实际上是为任何给定输入定义的,而且我在缺少这些方法的情况下,我无法编辑类定义以添加这些方法。这可能是该代码的原作者选择使用reflectionHashCode()
. 考虑到这一点,是否有针对此问题的编程/基于代码的解决方案或解决方法,例如不需要equals()
或hashcode()
在被比较的对象上定义的替代库?