标签: apache-commons-lang

安全地解析数字并且敏感地区域化

Java NumberFormat是1)非线程安全的(可以使用a ThreadLocal); 2)当我知道字符串是否应该包含int,long或double,并且想要一个像这样的API时,对于最简单的用例,使用不正确不方便的:

int parseInt(String str, Locale locale) throws ParseException; 
int parseInt(String str, int defaultValue, Locale locale);
long parseLong(String str, Locale locale) throws ParseException;
long parseLong(String str, long defaultValue, Locale locale);
double parseDouble(String str, Locale locale) throws ParseException;
double parseDouble(String str, double defaultValue, Locale locale);
Run Code Online (Sandbox Code Playgroud)

字符串未完全解析时抛出异常的位置.显然,这样的包装器很容易编写,但我在Guava或Apache Commons Lang中找不到.我错过了吗?或者是否有其他或多或少的标准解决方案?

java parsing apache-commons guava apache-commons-lang

7
推荐指数
1
解决办法
1440
查看次数

ArrayUtils.isNotEmpty的Javadoc有问题吗?

ArrayUtils.isNotEmpty()Apache Commons Lang中的javadoc 似乎是错误的.或者,至少是误导性的.它说

返回:如果数组不为空或不为null,则返回true

根据我的理解,空数组不是null.所以,根据上面的定义,isNotEmpty()应该返回true一个空数组,这是违反直觉的.

岂不

返回:如果数组不为null且不为空,则返回true

更正确吗?

java arrays apache-commons-lang

7
推荐指数
1
解决办法
2860
查看次数

Commons AnnotationUtils是否像库一样?(JAVA)

我找不到一个通用实用程序(静态方法)库来查询注释,而不是直接使用注释api并编写我自己的或使用Springs:

通常我不介意使用Springs,但它只是用于处理注释的相当大的依赖.也许Commons Lang有一天会有AnnotationUtils.

人们用什么来查询注释?

java spring annotations apache-commons-lang

6
推荐指数
1
解决办法
2544
查看次数

Apache Commons 包中的 IntegerUtils 和 DoubleUtils

我广泛使用 Apache Commons 包,尤其是 StringUtils、BooleanUtils、ObjectUtils、MapUtils 类,发现它们非常有用。我想知道是否有诸如 IntegerUtils、DoubleUtils 之类的类为其各自的包装类提供了类似的功能(我在 Apache Commons 包中找不到此类类)。

谢谢,

文卡特

java apache-commons-lang

6
推荐指数
1
解决办法
1万
查看次数

如何为非法反射访问警告抛出异常?

如何为非法反射访问警告抛出异常?例如,考虑以下代码:

import org.apache.commons.lang3.builder.*;

class Test {
    public static void main(String[] args) {
        System.out.println(ReflectionToStringBuilder.toString(Boolean.TRUE));
    }
}
Run Code Online (Sandbox Code Playgroud)

此代码向 System.err 打印以下警告:

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.commons.lang3.builder.ReflectionToStringBuilder (file:/Users/brianschack/eclipse-workspace/User%20Libraries/com
mons-lang3-3.7/commons-lang3-3.7.jar) to field java.lang.Boolean.value
WARNING: Please consider reporting this to the maintainers of org.apache.commons.lang3.builder.ReflectionToStringBuilder
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Run Code Online (Sandbox Code Playgroud)

Boolean.TRUE 是一个如此简单的值,我真的不需要 ReflectionToStringBuilder。但是更复杂的类型(例如 HashMap)会打印相同的警告。我选择 Boolean.TRUE 是为了简化这个例子。

当我搜索此警告消息时,我发现建议将其报告给包维护者、避免警告或完全禁用它(JDK9:发生非法反射访问操作。org.python.core.PySystemState)。 …

java reflection illegalaccessexception apache-commons-lang apache-commons-lang3

6
推荐指数
1
解决办法
1975
查看次数

为什么不在Java Standard API中使用commons-lang?

似乎我加入或开始的每个java项目总是将commons-lang作为依赖项 - 并且有充分的理由.commons-lang拥有大量的类和实用方法,这些方法与其他语言中最标准的API相当标准.为什么Sun/Oracle/JCP没有采用公共标准api中的一些东西?

java apache-commons-lang

5
推荐指数
1
解决办法
578
查看次数

Apache DateUtils截断WEEK

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

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

truncate()方法的文档说:

/**
 * <p>Truncates a date, leaving the field specified as the most
 * significant field.</p>
 *
 * <p>For example, if you had the date-time of 28 Mar 2002
 * 13:45:01.231, if you passed with HOUR, it would return 28 Mar
 * 2002 13:00:00.000.  If this was passed with MONTH, it would
 * return 1 Mar 2002 0:00:00.000.</p>
 * …
Run Code Online (Sandbox Code Playgroud)

java apache-commons-lang apache-commons-dateutils

5
推荐指数
1
解决办法
5706
查看次数

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

我的代码使用Apache Commons Lang v.2(commons-lang)。如果我将代码更新为使用v.3(commons-lang3),我应该担心我的代码可能会开始表现出不同的行为(当然,由于固定的错误和可能的新错误而造成的差异,这是正常现象,因此不计在内) ?

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

Apache确实并且非常清楚地提到了向后不兼容,但是我始终理解这些不兼容是因为它们破坏了编译,而不是完全相同的方法可以返回不同的结果。

我之所以这样问是因为,据我所知,某些向后不兼容的特性促使Apache将包从重命名为langlang3这些方法可能返回不同的结果。我认为这是一个错误的主张,对我而言,这很重要,因为我总是很高兴地用我偶然发现的所有s 替换lang,并且我只检查它仍然可以编译,而且我真的认为我是对的,但是现在,由于我被告知停止这些索赔,这是我认为是错误的,但是我没有任何信息可以用来反驳这些索赔并可以继续进行。lang3import

java backwards-compatibility apache-commons-lang apache-commons-lang3

5
推荐指数
1
解决办法
161
查看次数

使用NumberUtils.INTEGER_ONE和其他此类实用程序的好处

在java中,在if语句中进行比较,我写道

if (x == 1)

并在代码审查中得到一个注释,使用NumberUtils.INTEGER_ONE而不是1.我想知道它实际添加到代码中有什么好处.

java apache-commons-lang

4
推荐指数
1
解决办法
515
查看次数

Apache Commons Lang:从2.3升级到3.3.1 - UnhandledException怎么样?

我最近将我的项目的Apache Commons版本(commons-lang)从版本2.3升级到版本3.3.1(最新的稳定版).

在我的代码中有使用特定的异常,如UnhandledException,我只是想知道如果我使用最新版本,哪个是替换此类异常,因为我使用了大量错误.

版本3中定义了其他异常,但与此类似.

java replace unhandled-exception apache-commons-lang

3
推荐指数
1
解决办法
683
查看次数