标签: apache-commons

是否建议使用StringUtils.EMPTY?

你用StringUtils.EMPTY而不是""吗?

我的意思是作为返回值或者如果设置String变量的值.我不是要比较,因为我们使用StringUtils.isEmpty()

java apache-commons

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

如何将java.util.logging发送到log4j?

我有一个现有的应用程序,它针对log4j进行所有日志记录.我们使用了许多其他库,它们也使用log4j,或者记录Commons Logging,最终使用我们环境中的log4j.我们的一个依赖项甚至记录了slf4j,它也可以正常工作,因为它最终也会委托给log4j.

现在,我想为这个应用程序添加ehcache以满足一些缓存需求.以前版本的ehcache使用了commons-logging,它在这种情况下可以很好地工作,但是从版本1.6-beta1开始,它们已经删除了对commons-logging的依赖,而是用java.util.logging替换它.

不熟悉java.util.logging提供的内置JDK日志记录,是否有一种简单的方法可以将针对log4j发送到JUL的任何日志消息记录下来,因此我可以使用现有配置并设置任何日志记录来来自ehcache?

看看JUL的javadocs,看起来我可以设置一堆环境变量来改变使用的LogManager实现,也许可以用它来将log4j包装Logger在JUL Logger类中.这是正确的方法吗?

具有讽刺意味的是,当世界其他地方(大部分)使用第三方库时,图书馆使用内置JDK日志记录会引起如此头疼.

java logging log4j apache-commons slf4j

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

Java中的双向映射?

我在Java中有一个简单的整数到字符串映射,但我需要能够轻松地从整数中检索字符串,并且还能从字符串中检索整数.我已经尝试了Map,但它只能从整数中检索字符串,这是一种方式:

private static final Map<Integer, String> myMap = new HashMap<Integer, String>();
// This works one way:
String myString = myMap.get(myInteger);

// I would need something like:
Integer myInteger = myMap.getKey(myString);
Run Code Online (Sandbox Code Playgroud)

有没有正确的方法来实现这两个方向?

另一个问题是我只有一些不会改变的常数值(1->"low", 2->"mid", 3->"high"因此,找一个复杂的解决方案是不值得的.

java map apache-commons guava

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

如何在java中序列化列表?

我想深入克隆一个List.因为我们有一个方法

// apache commons method. This object should be serializable
SerializationUtils.clone ( object ) 
Run Code Online (Sandbox Code Playgroud)

所以现在克隆我的列表我应该首先将其转换为可序列化.是否可以将List转换为可序列化列表?

java collections serialization apache-commons

72
推荐指数
3
解决办法
15万
查看次数

tomcat-dbcp vs commons-dbcp

这两个连接池库之间似乎存在很多混淆.我想知道哪一个更好(如果有的话)?

以下是我想提出的一些观点......有人可以验证吗?

  1. Tomcat DBCP:使用默认的tomcat-dbcp.jar,它将出现在tomcat/lib目录中.您不需要 web-inf/lib中的commons-dbcp.jar或commons-pool.jar库.DB驱动程序应放在tomcat/lib中.

  2. Tomcat DBCP数据源类是org.apache.tomcat.dbcp.dbcp.BasicDataSource.Commons DBCP数据源类是org.apache.commons.dbcp.BasicDataSource.

  3. 这两者之间的唯一区别可以在这篇博客中找到.不知道信息是否正确.

  4. 官方Tomcat文档清楚地提到大多数类刚刚被重新命名和重新打包.

所以问题是:哪一个使用哪一个更好

java apache-commons apache-commons-dbcp

68
推荐指数
4
解决办法
5万
查看次数

未指定标头映射,无法通过名称访问记录值(Apache Commons CSV)

当我尝试读取csv时,我收到此错误消息:

Exception in thread "main" java.lang.IllegalStateException: No header mapping was specified, the record values can't be accessed by name
at org.apache.commons.csv.CSVRecord.get(CSVRecord.java:99)
at mockdata.MockData.main(MockData.java:33)
Run Code Online (Sandbox Code Playgroud)

Java结果:1

我正在使用Apache Commons CSV库1.1.尝试使用Google搜索错误消息,我唯一得到的是像grepcode这样的网站上的代码列表.

这是我的代码:

package mockdata;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import org.apache.commons.csv.CSVFormat;
import org.apache.commons.csv.CSVRecord;

public class MockData
{

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws FileNotFoundException, IOException
    {
        Reader in = new InputStreamReader(MockData.class.getClassLoader()
                                .getResourceAsStream("MOCK_DATA.csv"), "UTF-8");
        Iterable<CSVRecord> records = CSVFormat.EXCEL.parse(in);
        for (CSVRecord record …
Run Code Online (Sandbox Code Playgroud)

java csv apache-commons apache-commons-csv

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

使用逗号和"和"将Java中的List <String>连接起来

给出一个清单

List<String> l = new ArrayList<String>();
l.add("one");
l.add("two");
l.add("three");
Run Code Online (Sandbox Code Playgroud)

我有一个方法

String join(List<String> messages) {
        if (messages.isEmpty()) return "";
        if (messages.size() == 1) return messages.get(0);
        String message = "";
        message = StringUtils.join(messages.subList(0, messages.size() -2), ", ");
        message = message + (messages.size() > 2 ? ", " : "") + StringUtils.join(messages.subList(messages.size() -2, messages.size()), ", and ");
        return message;
    }
Run Code Online (Sandbox Code Playgroud)

对于l,产生"一,二,三".我的问题是,是否有一个标准(apache-commons)方法做同样的事情,例如

WhatEverUtils.join(l, ", ", ", and ");
Run Code Online (Sandbox Code Playgroud)

澄清.我的问题是没有让这种方法起作用.它就像我想要的那样工作,经过测试,一切都很好.我的问题是我找不到一些实现这种功能的类似apache-commons的模块.这让我感到惊讶,因为我不能成为第一个需要这个的人.

但是,也许其他人都刚刚完成了

StringUtils.join(l, ", ").replaceAll(lastCommaRegex, ", and");
Run Code Online (Sandbox Code Playgroud)

java join apache-commons

49
推荐指数
7
解决办法
4万
查看次数

base 64编码的有效字符范围

我对以下内容感兴趣:
是否有一个字符列表永远不会作为base 64编码字符串的一部分出现?
例如*.我不确定这是否会发生.如果原始输入实际上*是其中的一部分,那么编码方式会不同吗?

java regex base64 apache-commons

44
推荐指数
3
解决办法
4万
查看次数

Java - 将引号附加到数组中的字符串并连接数组中的字符串

我想将双引号附加到数组中的字符串,然后将它们作为单个字符串连接(保留引号).有没有这样做的字符串库?我已经尝试过Apache commons StringUtils.join和Google番石榴中的Joiner类,但找不到附加双引号的内容.

我的输入将是一个数组,如下所述:

String [] listOfStrings = {"day", "campaign", "imps", "conversions"};
Run Code Online (Sandbox Code Playgroud)

所需的输出应如下所述:

String output = "\"day\", \"campaign\", \"imps\", \"conversions\"";
Run Code Online (Sandbox Code Playgroud)

我知道我可以遍历数组并附加引号.但是如果有的话,我想要一个更清洁的解决方案.

java apache-commons guava

40
推荐指数
2
解决办法
4万
查看次数

Apache Commons CLI - 选项类型和默认值

如何为CLI选项提供类型 - 例如intInteger?(稍后,如何通过单个函数调用获取解析后的值?)

如何为CLI Option提供默认值?这样CommandLine.getOptionValue()或上面提到的函数调用返回该值,除非在命令行中指定了一个值?

java apache-commons apache-commons-cli

36
推荐指数
2
解决办法
3万
查看次数