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, java.io.Serializable, java.lang.CharSequence, java.lang.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.
  Author:
    Jochen Theodorou
  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 and Description
    `GStringImpl(java.lang.Object[] values, java.lang.String[] strings)` Create a new GString with values and strings.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.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, getProperty, setMetaClass, setProperty`

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

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

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

      `chars, codePoints`

- - ### Constructor Detail

    - #### GStringImpl

          public GStringImpl(java.lang.Object[] values,
                             java.lang.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 java.lang.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`