我有如下代码:
private static final Logger logger = LoggerFactory.getLogger(Some.class);
...
String[] splits=someString.split("..");
logger.info("The string was split into <{}>",splits); // prints first element
如何使用slf4j正确打印数组的全部内容?
问题在于以下代码:
logger.info("The string was split into <{}>", splits);
您正在调用方法info(String format, Object... arguments)
。请注意,最后一个参数是可变参数。因此,您传递的数组将被解释为可变参数的每个参数。Object
类型。String[] splits = { "foo", "bar" };
logger.info("The string was split into {}", (Object) splits);
将记录 The string was split into [foo, bar]
,正如预期。
String#split()
方法接受一个正则表达式,并且“..”是具有含义的正则表达式吗? - Petr Janeček