如果我在Groovy中需要纯字符串,那么使用双引号文字是否会对性能产生影响?
例如:
def plainString = 'Custom string'
def gString = "Custom string"
根据我的理解,普通String
应该更快,因为在运行时没有搜索特定字符和替换。
答案 0 :(得分:3)
来自Groovy Language Specification:
如果没有插值表达式,则双引号字符串为普通
java.lang.String
,但如果存在插值则为groovy.lang.GString
个实例。
因此,请随意使用双引号或单引号:它们将导致相同类型的对象。不同之处在于双引号字符串中有$
。但到那时,我们正在谈论语义,而不是表现。