我试图从Groovy类中调用Apache Commons的StringUtils.join()方法。我想连接3个字符串(part1
,part2
和part3
)。从Groovy调用Java Apache StringUtils.join()
为什么不能正常工作?
def path = StringUtils.join([part1, part2, part3]) //1
但是下面一行的工作原理:
def path = StringUtils.join([part1, part2, part3] as String[]) //2
一个跟进的问题。为什么这个工作?我使用的是StringUtils v 2.6,所以它没有可变参数方法。 groovy是否总是将方法参数转换为数组?
def path = StringUtils.join(part1, part2, part3) //3
这在很大程度上是一个好奇的问题。我不打算使用StringUtils,因为我发布了separate question yesterday并找到了更好的解决方案。但是,我仍然想知道为什么技术#1不起作用,但#3确实起作用。
对于#1,th e结果是数组的字符串表示形式,而不是将数组的实际元素连接在一起。它显示数组在发送到join()方法之前转换为String。 – Ryan 2012-03-20 15:54:14