作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有以下代码:
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);
将记录 字符串被拆分为 [foo, bar]
,正如预期的那样。
关于java - 使用 slf4j 打印数组只打印第一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39589879/
我是一名优秀的程序员,十分优秀!