问题标签 [apache-commons-lang]
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 - 使用 Java - substringBetween() 函数基于第二次出现提取子字符串
我有以下字符串“如果这是好的,如果那是坏的”。要求是从主字符串中提取字符串“that”。
使用
在这种情况下,您能否帮助提取所需的字符串。如果使用函数 substringBetween() 无法做到这一点,是否有任何替代字符串函数可以实现这一点?
java - 使用 NumberUtils.INTEGER_ONE 和其他此类实用程序的好处
在 java 中为了比较 if 语句,我写了
if (x == 1)
并在代码审查中获得了使用 NumberUtils.INTEGER_ONE 而不是 1 的评论。我想知道它实际上为代码添加了什么好处。
java - Java 9 JRE 在 jar 执行时导致 java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils
我在 Eclipse Oxygen.1a(操作系统:Windows 10 Home edition 64-bit)上创建了一个 jar 文件。我项目的 JRE 是 jre1.8.0_152(64 位版本)。当我使用 Java 8 JRE 运行我的 jar 文件时,程序运行良好,但是当我使用 Java 9 JRE 时,我收到以下错误:
当我执行时发生此错误:java -jar myjarfile.jar
使用 Java 9 JRE。
我嵌入了最新版本的Apache Commons Lang(在项目库中添加了commons-lang3-3.7.jar)并使用了最新的 Java 9 Runtime (jre9.0.1)。Apache 页面声明需要 Java 7.0+。
Java 9 和 Apache Commons 库之间是否存在不兼容问题?有什么办法可以解决这个问题?
更新:
命令行包含(调试视图,右键单击并单击属性)
通过使用 Eclipse 导出 Runnable JAR 创建的 Jar 文件,使用以下设置:
第二次更新:我在另一个 Windows 10 pro 64 位系统和带有 Java 9 的 Ubuntu 16.04.3 LTS 上测试了我的 JAR,并且遇到了同样的问题。
java - 如何在 StrSubstitutor 中使 templateString 动态化
我正在寻找类似于以下内容的输出:
任何建议都会有所帮助。
java - 为什么不推荐使用 org.apache.common.lang3 StringEscapeUtils?
我找不到任何解释为什么 StringEscapeUtils 从 Apache Lang3 v3.7 中被弃用。
我们现在应该使用什么来进行 HTML 转义/取消转义
java - 为什么 ToStringBuilder 工作不一致?
在下面的代码中,为什么包含的两行会System.out.println(person);
产生不同的输出?第二行间接调用Job.toString
产生字符串的方法"Manager"
,但第一行神秘地不产生Job@28f67ac7
。在我看来,两者之间的界限person.put("a", "b");
似乎并没有什么不同。
代码:
安慰:
java - 如何为非法反射访问警告抛出异常?
如何为非法反射访问警告抛出异常?例如,考虑以下代码:
此代码向 System.err 打印以下警告:
Boolean.TRUE 是一个非常简单的值,我真的不需要 ReflectionToStringBuilder。但更复杂的类型(如 HashMap)会输出相同的警告。我选择 Boolean.TRUE 是为了简化这个例子。
当我搜索此警告消息时,我发现建议将其报告给包维护者、避免警告或完全禁用它(JDK9:发生了非法反射访问操作。org.python.core.PySystemState)。
我想为警告抛出一个异常,以便获得非法访问发生位置的堆栈跟踪。然后我可以更改代码以避免导致警告的非法访问。我还想做一个单元测试来检查将来的警告。
我尝试根据 StackOverflow 问题JUnit test for System.out.println()测试打印到 System.err 。这涉及将 System.err 设置为 ByteArrayOutputStream,然后检查内容。但不幸的是,根据如何在没有 JVM 参数的情况下在 java 9 中隐藏警告“非法反射访问”?,IllegalAccessLogger 在 JVM 引导期间获取对 System.err 的引用,然后我才能更改它。
我也尝试关闭 System.err,但似乎打印到关闭的流会默默地失败,而不是抛出异常。请注意,以下代码的输出不包含字符串“err-2”:
代码:
输出:
java - 使用反射输出对象中变量的所有值
我想输出对象中变量的所有值。
目前我正在使用ReflectionToStringBuilder
,但问题是它[,]
在输出集合时包含字符。
这是一个例子。
输出
我尝试定义自己的ToStringStyle
,但似乎没有任何选项可以删除方括号和逗号。
输出
我需要的是只获取没有添加字符的值。
这怎么可能实现?
stringbuilder - Apache Common 的 StrBuilder 和 Java 的 StringBuilder 有什么区别?
StrBuilder
Apache Commons 与 Java StringBuilder
有何不同?
在 Apache Commons 中,我看到StrBuilder
已弃用。
我可以改用JavaStringBuilder
吗?
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?