Module java.base
Package java.lang.foreign

# Interface ValueLayout.OfChar

All Superinterfaces:
  `MemoryLayoutPREVIEW`, `ValueLayoutPREVIEW`

Enclosing interface:
  `ValueLayoutPREVIEW`

public static sealed interface ValueLayout.OfChar extends ValueLayoutPREVIEW
`OfChar` is a preview API of the Java platform.
Programs can only use `OfChar` when preview features are enabled.
Preview features may be removed in a future release, or upgraded to permanent features of the Java platform.
A value layout whose carrier is `char.class`.

Since:
  19
See Also:
  - `ValueLayout.JAVA_CHAR`PREVIEW
  - `ValueLayout.JAVA_CHAR_UNALIGNED`PREVIEW

## Nested Class Summary

## Nested classes/interfaces declared in interface java.lang.foreign.MemoryLayoutPREVIEW

`MemoryLayout.PathElementPREVIEW`

## Nested classes/interfaces declared in interface java.lang.foreign.ValueLayoutPREVIEW

`ValueLayout.OfBooleanPREVIEW, ValueLayout.OfBytePREVIEW, ValueLayout.OfCharPREVIEW, ValueLayout.OfDoublePREVIEW, ValueLayout.OfFloatPREVIEW, ValueLayout.OfIntPREVIEW, ValueLayout.OfLongPREVIEW, ValueLayout.OfShortPREVIEW`

## Field Summary

### Fields declared in interface java.lang.foreign.ValueLayoutPREVIEW

`ADDRESS, ADDRESS_UNALIGNED, JAVA_BOOLEAN, JAVA_BYTE, JAVA_CHAR, JAVA_CHAR_UNALIGNED, JAVA_DOUBLE, JAVA_DOUBLE_UNALIGNED, JAVA_FLOAT, JAVA_FLOAT_UNALIGNED, JAVA_INT, JAVA_INT_UNALIGNED, JAVA_LONG, JAVA_LONG_UNALIGNED, JAVA_SHORT, JAVA_SHORT_UNALIGNED`

## Method Summary

Modifier and Type
Method
Description
`ValueLayout.OfCharPREVIEW`
`withByteAlignment(long byteAlignment)`
Returns a memory layout with the same characteristics as this layout, but with the given alignment constraint (in bytes).
`ValueLayout.OfCharPREVIEW`
`withName(String name)`
Returns a memory layout with the same characteristics as this layout, but with the given name.
`ValueLayout.OfCharPREVIEW`
`withOrder(ByteOrder order)`
Returns a value layout with the same characteristics as this layout, but with the given byte order.
`ValueLayout.OfCharPREVIEW`
`withoutName()`
Returns a memory layout with the same characteristics as this layout, but with no name.

### Methods declared in interface java.lang.foreign.MemoryLayoutPREVIEW

`byteAlignment, byteOffset, byteOffsetHandle, byteSize, equals, hashCode, name, select, sliceHandle, toString, varHandle`

### Methods declared in interface java.lang.foreign.ValueLayoutPREVIEW

`arrayElementVarHandle, carrier, order`

## Method Details

### withName

ValueLayout.OfCharPREVIEW withName(String name)
Returns a memory layout with the same characteristics as this layout, but with the given name.

Specified by:
  `withName` in interface `MemoryLayoutPREVIEW`
Specified by:
  `withName` in interface `ValueLayoutPREVIEW`
Parameters:
  `name` - the layout name.
Returns:
  a memory layout with the same characteristics as this layout, but with the given name
See Also:
  - `MemoryLayout.name()`PREVIEW

### withoutName

ValueLayout.OfCharPREVIEW withoutName()
Returns a memory layout with the same characteristics as this layout, but with no name.

Specified by:
  `withoutName` in interface `MemoryLayoutPREVIEW`
Specified by:
  `withoutName` in interface `ValueLayoutPREVIEW`
Returns:
  a memory layout with the same characteristics as this layout, but with no name
See Also:
  - `MemoryLayout.name()`PREVIEW

### withByteAlignment

ValueLayout.OfCharPREVIEW withByteAlignment(long byteAlignment)
Returns a memory layout with the same characteristics as this layout, but with the given alignment constraint (in bytes).

Specified by:
  `withByteAlignment` in interface `MemoryLayoutPREVIEW`
Specified by:
  `withByteAlignment` in interface `ValueLayoutPREVIEW`
Parameters:
  `byteAlignment` - the layout alignment constraint, expressed in bytes.
Returns:
  a memory layout with the same characteristics as this layout, but with the given alignment constraint (in bytes)
Throws:
  `IllegalArgumentException` - if `byteAlignment` is not a power of two.

### withOrder

ValueLayout.OfCharPREVIEW withOrder(ByteOrder order)
Returns a value layout with the same characteristics as this layout, but with the given byte order.

Specified by:
  `withOrder` in interface `ValueLayoutPREVIEW`
Parameters:
  `order` - the desired byte order.
Returns:
  a value layout with the same characteristics as this layout, but with the given byte order