我是Groovy / Gradle的新手,但在我看来,这应该可行:
def test = new StringBuilder("This file: ${fileName}")
char testDot = '.'
int testlngth = test.length() - 5
println test.setCharAt(testlngth,testDot).toString()
...但结果是:
No signature of method: java.lang.StringBuilder.setCharAt() is applicable for argument types: (java.lang.Character, java.lang.Integer) values: [12, .]
Possible solutions: setCharAt(int, char), getChars(), charAt(int), deleteCharAt(int), deleteCharAt(int)
任何人都知道为什么?可能与语言之间的类型有关吗?我注意到这些原语已被装箱,但我不知道如何在Groovy / Gradle中解决这个问题。
答案 0 :(得分:0)
您应指定index
,然后指定替换char
:
setCharAt(myIndex, myChar);