2017-02-16 17 views
0

如果我需要Groovy中的純字符串,使用雙引號文字是否會影響性能?GString性能

例如:

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

在我的理解,平原String應該會更快,因爲在運行時有特定的字符和替換沒有搜索。

+1

你爲什麼要擔心? 如果遇到性能問題,應該進行性能分析。如果你正在分析,你已經知道答案。 如果您沒有遇到性能問題,那麼這並不重要。 – slim

回答

3

Groovy Language Specification

雙引號的字符串是純java.lang.String如果沒有插的表達,但groovy.lang.GString情況下,如果插值存在。

因此,請隨意使用雙引號或單引號:它們將導致相同類型的對象。區別在於雙引號字符串中有$。但到那時,我們正在談論語義,而不是表現。