2 ответов:
одинарные кавычки-это стандартная строка java
двойные кавычки-это шаблонная строка, которая либо возвращает GString, если она шаблонна, либо стандартную строку Java. Например:
println 'hi'.class.name // prints java.lang.String println "hi".class.name // prints java.lang.String def a = 'Freewind' println "hi $a" // prints "hi Freewind" println "hi $a".class.name // prints org.codehaus.groovy.runtime.GStringImplЕсли вы попытаетесь создать шаблон с одинарными кавычками, он ничего не сделает, поэтому:
println 'hi $a' // prints "hi $a"и ссылка, данная юлькевичем в их ответе стоит прочитать (esp. часть о том, что GStrings не являются строками около 2/3 пути вниз.
Я понимаю, что строка в двойных кавычках может содержать встроенные ссылки на переменные и другие выражения. Например:
"Hello $name","Hello ${some-expression-here}". В этом случаеGStringбудет создан экземпляр вместо обычногоString. С другой стороны, строки в одинарных кавычках не поддерживают этот синтаксис и всегда приводят к простомуString. Подробнее по теме здесь:http://docs.groovy-lang.org/latest/html/documentation/index.html#all-strings
Comments