Package com.sun.jna

# Class NativeString

java.lang.Object
com.sun.jna.NativeString

All Implemented Interfaces:
  `CharSequence`, `Comparable`

class NativeString extends Object implements CharSequence, Comparable
Provides a temporary allocation of an immutable C string (`const char*` or `const wchar_t*`) for use when converting a Java String into a native memory function argument.

Author:
  Todd Fast, todd.fast@sun.com, twall@users.sf.net

## Field Summary

Fields
Modifier and Type
Field
Description
`(package private) static final String`
`WIDE_STRING`

## Constructor Summary

Constructors
Constructor
Description
`NativeString(WString string)`
Create a native string as a NUL-terminated array of `wchar_t`.
`NativeString(String string)`
Create a native string (NUL-terminated array of `char`).
`NativeString(String string, boolean wide)`
Create a native string as a NUL-terminated array of `wchar_t` (if `wide` is true) or `char`.
`NativeString(String string, String encoding)`
Create a native string (NUL-terminated array of `char`), using the requested encoding.

## Method Summary

Modifier and Type
Method
Description
`char`
`charAt(int index)`
`int`
`compareTo(Object other)`
`boolean`
`equals(Object other)`
`Pointer`
`getPointer()`
`int`
`hashCode()`
`int`
`length()`
`CharSequence`
`subSequence(int start, int end)`
`String`
`toString()`

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

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

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

`chars, codePoints, isEmpty`

## Field Details

### WIDE_STRING

static final String WIDE_STRING

See Also:
  - Constant Field Values

## Constructor Details

### NativeString

public NativeString(String string)
Create a native string (NUL-terminated array of `char`).

Uses the encoding returned by `Native.getDefaultStringEncoding()`.

### NativeString

public NativeString(String string, boolean wide)
Create a native string as a NUL-terminated array of `wchar_t` (if `wide` is true) or `char`.

If not `wide`, the encoding is obtained from `Native.getDefaultStringEncoding()`.

Parameters:
  `string` - value to write to native memory
  `wide` - whether to store the String as `wchar_t`

### NativeString

public NativeString(WString string)
Create a native string as a NUL-terminated array of `wchar_t`.

### NativeString

public NativeString(String string, String encoding)
Create a native string (NUL-terminated array of `char`), using the requested encoding.

## Method Details

### hashCode

public int hashCode()

Overrides:
  `hashCode` in class `Object`

### equals

public boolean equals(Object other)

Overrides:
  `equals` in class `Object`

### toString

public String toString()

Specified by:
  `toString` in interface `CharSequence`
Overrides:
  `toString` in class `Object`

### getPointer

public Pointer getPointer()

### charAt

public char charAt(int index)

Specified by:
  `charAt` in interface `CharSequence`

### length

public int length()

Specified by:
  `length` in interface `CharSequence`

### subSequence

public CharSequence subSequence(int start, int end)

Specified by:
  `subSequence` in interface `CharSequence`

### compareTo

public int compareTo(Object other)

Specified by:
  `compareTo` in interface `Comparable`