问题标签 [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.

0 投票
1 回答
783 浏览

ant - Jboss 没有使用 jboss lib jar commons-lang3-3.0.jar

我正在使用 Ant 构建我的项目并将其部署到 JBoss。Ant 正在使用 jboss-home/server/default/lib jar 构建。但是在部署过程中会报错:

我通过以下 Ant 条目将 commons-lang3-3.1.jar 用于 StringUtils 类:

0 投票
1 回答
544 浏览

guava - 与 StringUtils.removeEnd 等价的 Guava 是什么?

我很难找到与 commons-lang StringUtils.removeEnd等效的番石榴。有没有这样的方法,还是我必须以某种方式使用 Joiner 和 Splitter?

0 投票
3 回答
118 浏览

java - Hashcode & equals 实现

我正在编写一些代码来演示equals和hashcode,对于我的实现,我使用了用户示例:

输出:

我认为我做错了,因为我的对象现在可以相等但具有不同的哈希码(我知道这很糟糕),但我想让我的用户只有在他们的名字也相等时才相等..而不是当他们有名称 AND 通过等于。

我怎样才能尊重约定并拥有我想要实现的目标?感谢您的帮助/澄清:)

0 投票
1 回答
4979 浏览

java - 如何使用 FastDateFormat 使用 String 创建 Date 对象

我使用了 SimpleDataFormat,它似乎不是一个非常线程安全的东西。然后我发现FastDateFormat是这个问题的替代方案。但我试图弄清楚如何使用它来解析带有日期和时间的字符串。

这里解释了为什么错误使用 SimpleDateFormat 不好:为什么 Java 的 SimpleDateFormat 不是线程安全的?

代码中的问题:我有以下字符串

我需要将其转换为Date. 但是以线程安全的方式。我想使用与FastDateFormat. 不是SimpleDateFormat

0 投票
1 回答
325 浏览

java - 无法使用 Apache Commons Lang 将双数组转换为字符串

我一直在尝试将双精度数组转换为数字用空格分隔的字符串。

Commons Lang javadoc 告诉我可以这样做,代码也可以运行,但我只能[D@54a50a00打印出来。这里缺少什么?

0 投票
1 回答
1081 浏览

java - 使用 StrSubstitutor 替换数组值

我正在尝试使用 StrSubstituor API 来替换数组值。到目前为止,它只是替换了 array.toString 值。

结果应该是:

但是,现在它打印出如下内容:

如果您需要更多信息,请与我们联系。任何指针将不胜感激。如果这不是这样做的方法,请建议最好的方法是什么。对不起,如果我在这件事上完全错了。

0 投票
2 回答
8843 浏览

java - Apache DateUtils 截断 WEEK

我正在使用Apache commons-lang3 DateUtils.truncate(Calendar calendar, int field)方法来“切断”日历对象的不必要字段。现在,当field参数获取 的值时Calendar.WEEK_OF_MONTH,它会抛出一个

java.lang.IllegalArgumentException: The field 4 is not supported

truncate()方法的文档说:

所以我认为这应该可行,但显然不行。有没有办法使用 DateUtils 将日期截断为一周的第一天?


更新

我在源代码中查找并发现该modify()方法(tuncate()在内部使用 this)遍历了一堆预定义的字段以找到给定的参数。现在这些字段是:

正如人们所看到的,与CalendarWEEK 的字段没有任何关系,所以我想我必须手动执行此操作......欢迎任何其他想法/建议!

0 投票
1 回答
3733 浏览

java - 使用 ReflectionToStringBuilder 更改特定类型的输出

我正在使用 Apache Common Lang ReflectionToStringBuilder 为我的实体递归地给我一个 toString。

我有一个自定义 ToStringStyle,我用它来给我一个稍微修改的输出,并且我省略了一些我不想出现的变量。

我的问题是针对特定对象类型,您能否指定要打印的特定属性。

例如:我有两个 Person 对象,每个对象都有一个 ID 值,以及一个名为 BestFriend 的关系对象。

目前正在发生的事情是,当我将两个 Person 对象链接为 Bestfriends 时,ReflectionToStringBuilder 正在为 Bestfriend 的值编写整个 Person 对象。

您能否指定为所有关系对象给我 ID 的值而不是整个 Person 对象?

0 投票
2 回答
2800 浏览

java - 在java中将任何数字字符串(int,float,double,long等)转换为适当的数字(int,float,double,long等)值

是否有更好的做法将任何输入数字字符串(int、double 等)转换为 java 中各自的 Wrapper 对象/原始类型?

使用valueOf()parseXXX()方法可以实现。但在选择适当的类型之前,我应该知道底层的字符串格式。

我正在做的是将数字字符串解析为 long,使用NumberUtilsfrom commons-lang.jar如下:

但问题是如果numberString有一个double值,则它无法解析为数字并将0.0作为解析值返回。只有以下语句适用于双精度值:

有这样做的通用方法吗?我也不关心小数点后的数字。

谢谢阅读。

更新

@Thomas 建议,这对我来说看起来很优雅:

NumberFormat numberFormat = NumberFormat.getNumberInstance(); long longValue = numberFormat.parse(targetFieldValue).longValue();

parse()方法返回LongDouble包装对象时,可以对其进行检查并相应地分配以供通用使用。这里唯一要注意的是parse()可能会抛出ParseException,所以需要根据要求进行处理。

我用它来解决我的问题,但很想知道任何其他解决方案!

0 投票
3 回答
103 浏览

java - 如何在 Apache Commons CharSet 中包含插入符号 ^?

Apache Commons CharSet 类对于要包含在集合中的字符有自己的语法。在该语法中,插入符号 (^) 具有特殊含义(否定),但没有任何文档说明如何在集合本身中包含插入符号而不否定其后面的字符。例如,以下意外返回 false:

有趣的是,以下返回 true,我认为这是一个错误(尽管 JavaDoc 没有指定它的行为方式):

更新:请参阅下面@Duncan 的评论以了解此行为)

我的问题是,如何在不影响集合中其他字符的情况下指定一个CharSet包含字符的字符?^