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.OfAddressPREVIEW, 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`
  `withBitAlignment(long bitAlignment)`
  Returns a memory layout of the same type with the same size and name as this layout, but with the specified alignment constraint (in bits).
  `ValueLayout.OfCharPREVIEW`
  `withName(String name)`
  Returns a memory layout of the same type with the same size and alignment constraint as this layout, but with the specified name.
  `ValueLayout.OfCharPREVIEW`
  `withOrder(ByteOrder order)`
  Returns a value layout with the same carrier, alignment constraint and name as this value layout, but with the specified byte order.

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

  `bitAlignment, bitOffset, bitOffsetHandle, bitSize, 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 of the same type with the same size and alignment constraint as this layout, but with the specified name.
    Specified by:
      `withName` in interface `MemoryLayoutPREVIEW`
    Specified by:
      `withName` in interface `ValueLayoutPREVIEW`
    Parameters:
      `name` - the layout name.
    Returns:
      a memory layout with the given name.
    See Also:
      - `MemoryLayout.name()`PREVIEW

  - ### withBitAlignment

    ValueLayout.OfCharPREVIEW withBitAlignment(long bitAlignment)
    Returns a memory layout of the same type with the same size and name as this layout, but with the specified alignment constraint (in bits).
    Specified by:
      `withBitAlignment` in interface `MemoryLayoutPREVIEW`
    Specified by:
      `withBitAlignment` in interface `ValueLayoutPREVIEW`
    Parameters:
      `bitAlignment` - the layout alignment constraint, expressed in bits.
    Returns:
      a memory layout with the given alignment constraint.

  - ### withOrder

    ValueLayout.OfCharPREVIEW withOrder(ByteOrder order)
    Returns a value layout with the same carrier, alignment constraint and name as this value layout, but with the specified byte order.
    Specified by:
      `withOrder` in interface `ValueLayoutPREVIEW`
    Parameters:
      `order` - the desired byte order.
    Returns:
      a value layout with the given byte order.