Package com.sun.jna

# Class StringArray

java.lang.Object
com.sun.jna.Pointer
com.sun.jna.Memory
com.sun.jna.StringArray

All Implemented Interfaces:
  `Function.PostCallRead`, `Closeable`, `AutoCloseable`

public class StringArray extends Memory implements Function.PostCallRead
Handle native array of `char*` or `wchar_t*` type by managing allocation/disposal of native strings within an array of pointers. An extra NULL pointer is always added to the end of the native pointer array for convenience.

## Field Summary

### Fields inherited from class com.sun.jna.Memory

`size`

### Fields inherited from class com.sun.jna.Pointer

`NULL, peer`

## Constructor Summary

Constructors
Constructor
Description
`StringArray(WString[] strings)`
Create a native array of wide strings.
`StringArray(String[] strings)`
Create a native array of strings.
`StringArray(String[] strings, boolean wide)`
Create a native array of strings.
`StringArray(String[] strings, String encoding)`
Create a native array of strings using the given encoding.

## Method Summary

Modifier and Type
Method
Description
`void`
`read()`
Read back from native memory.
`String`
`toString()`

### Methods inherited from class com.sun.jna.Memory

`align, boundsCheck, clear, close, dispose, disposeAll, dump, free, getByte, getByteBuffer, getChar, getDouble, getFloat, getInt, getLong, getPointer, getShort, getString, getWideString, malloc, purge, read, read, read, read, read, read, read, read, setByte, setChar, setDouble, setFloat, setInt, setLong, setPointer, setShort, setString, setWideString, share, share, size, valid, write, write, write, write, write, write, write, write`

### Methods inherited from class com.sun.jna.Pointer

`clear, createConstant, createConstant, dump, equals, getByteArray, getCharArray, getDoubleArray, getFloatArray, getIntArray, getLongArray, getNativeLong, getPointerArray, getPointerArray, getShortArray, getString, getStringArray, getStringArray, getStringArray, getStringArray, getValue, getWideStringArray, getWideStringArray, hashCode, indexOf, nativeValue, nativeValue, setMemory, setNativeLong, setString, setString, setValue`

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

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

## Constructor Details

### StringArray

public StringArray(String[] strings)
Create a native array of strings.

### StringArray

public StringArray(String[] strings, boolean wide)
Create a native array of strings.

### StringArray

public StringArray(String[] strings, String encoding)
Create a native array of strings using the given encoding.

### StringArray

public StringArray(WString[] strings)
Create a native array of wide strings.

## Method Details

### read

public void read()
Read back from native memory.

Specified by:
  `read` in interface `Function.PostCallRead`

### toString

public String toString()

Overrides:
  `toString` in class `Memory`