我試圖從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