GString性能

时间:2017-02-16 16:14:18

标签: string groovy double-quotes single-quotes gstring

如果我在Groovy中需要纯字符串,那么使用双引号文字是否会对性能产生影响?

例如:

def plainString = 'Custom string'
def gString = "Custom string"

根据我的理解,普通String应该更快,因为在运行时没有搜索特定字符和替换。

1 个答案:

答案 0 :(得分:3)

来自Groovy Language Specification

  

如果没有插值表达式,则双引号字符串为普通java.lang.String,但如果存在插值则为groovy.lang.GString个实例。

因此,请随意使用双引号或单引号:它们将导致相同类型的对象。不同之处在于双引号字符串中有$。但到那时,我们正在谈论语义,而不是表现。