ArrayList<GStringImpl> a= ["gaurav " , "ashish"];
println a;
这里我们使用GStringImpl
时会出错。
答案 0 :(得分:2)
以下代码适用于groovy 2.4.3:
import org.codehaus.groovy.runtime.GStringImpl
ArrayList<GStringImpl> a = ["gaurav " , "ashish"]
println a
println ''
def b = "hello"
println b.class.name
println b
println ''
def c = "worl${100 as char}"
println c.class.name
println c
产生
[gaurav , ashish]
java.lang.String
hello
org.codehaus.groovy.runtime.GStringImpl
world
您的代码应与import org.codehaus.groovy.runtime.GStringImpl
一起使用。
答案 1 :(得分:0)
您的代码对我有用。实际上,正如我所知,groovy中的静态定义是个坏主意,它可以工作,但速度很慢。但如果确实需要,你可以尝试这样做:
List<GString> list = []
或者
def list = [] as ArrayList<GString>
def list = new ArrayList<GString>()