我想弄清楚Groovy如何將char[]
轉換爲GString
內的String
。Groovy如何從char []轉換爲GString中的字符串?
實施例:
char[] pchar = ['p', 'a', 's', 's']
println "$pchar"
結果:
通
起初我假定它將使用toString()方法對char [](HTTP://groovy.codehaus .ORG/Groovy的JDK /原語類型/焦炭[]。HTML#的toString())。但在運行下面的代碼的結果似乎並非如此:
char[] pchar = ['p', 'a', 's', 's']
println "$pchar"
pchar.class.metaClass.toString = {->
"****"
}
println pchar.toString()
println "$pchar"
結果:
通
****
通
我我也嘗試覆蓋invokeMethod()
來嘗試搞清楚它無濟於事:
char[] pchar = ['p', 'a', 's', 's']
println "$pchar"
pchar.class.metaClass.toString = {->
"****"
}
pchar.class.metaClass.invokeMethod = {String methodName, Object arguments ->
println("Method called on ${delegate.class}: $methodName, $arguments")
def metaMethod = delegate.metaClass.getMetaMethod(methodName)
return metaMethod.invoke(delegate, arguments)
}
println pchar.toString()
println "$pchar"
結果:
通
方法稱爲上類[C:的toString,[]
****
通過
有誰知道Groovy如何進行這種轉換?