Package org.codehaus.groovy.runtime

## Class GStringImpl

- java.lang.Object
- - groovy.lang.GroovyObjectSupport
  - - groovy.lang.GString
    - - org.codehaus.groovy.runtime.GStringImpl

- All Implemented Interfaces:
    `Buildable`, `GroovyObject`, `Writable`, `Serializable`, `CharSequence`, `Comparable`

      public class GStringImpl
      extends GString

  Default implementation of a GString used by the compiler. A GString consist of a list of values and strings which can be combined to create a new String.
  See Also:
    `GString`, Serialized Form

- - ### Field Summary

    - ### Fields inherited from class groovy.lang.GString

      `EMPTY, EMPTY_OBJECT_ARRAY, EMPTY_STRING_ARRAY`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `GStringImpl​(Object[] values, String[] strings)` | Create a new GString with values and strings.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `String[]` | `getStrings()` | Get the strings of this GString.

    - ### Methods inherited from class groovy.lang.GString

      `build, charAt, compareTo, equals, equals, getBytes, getBytes, getValue, getValueCount, getValues, hashCode, invokeMethod, length, negate, plus, plus, subSequence, toString, writeTo`

    - ### Methods inherited from class groovy.lang.GroovyObjectSupport

      `getMetaClass, setMetaClass`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface java.lang.CharSequence

      `chars, codePoints`

    - ### Methods inherited from interface groovy.lang.GroovyObject

      `getProperty, setProperty`

- - ### Constructor Detail

    - #### GStringImpl

          public GStringImpl​(Object[] values,
                             String[] strings)

      Create a new GString with values and strings.

      Each value is prefixed by a string, after the last value an additional String might be used. This means `strings.length == values.length || strings.length == values.length + 1`.

      NOTE: The lengths are not checked. Using different lengths might result in unpredictable behaviour.

      Parameters:
        `values` - the value parts
        `strings` - the string parts

  - ### Method Detail

    - #### getStrings

          public String[] getStrings()

      Get the strings of this GString.

      This methods returns the same array as used in the constructor. Changing the values will result in changes of the GString. It is not recommended to do so.

      Specified by:
        `getStrings` in class `GString`