Module java.base

Interface MemoryLayout.PathElement

封装接口:
MemoryLayout预览

public static sealed interface MemoryLayout.PathElement
PathElement 是Java平台的预览API。
仅当启用预览功能时,程序才能使用PathElement
预览功能可能在将来的版本中被移除,或升级为Java平台的永久功能。
布局路径中的一个元素。路径元素有三种类型:
  • 组路径元素,用于在GroupLayout预览中通过名称或索引选择成员布局;
  • 序列路径元素,用于在SequenceLayout预览中选择一个或多个序列元素布局;以及
  • 解引用路径元素,用于将地址布局解引用为其目标布局。
选择多个序列元素布局的序列路径元素称为开放路径元素
实现要求:
此接口的实现是不可变的、线程安全的,并且是基于值的。
自版本:
19
  • Method Details

    • groupElement

      static MemoryLayout.PathElementPREVIEW groupElement(String name)
      返回一个选择组布局中给定名称的成员布局的路径元素。
      实现要求:
      如果存在多个具有匹配名称的组元素,则此方法返回的路径元素将选择第一个;也就是说,将选择当前路径中偏移量最低的组元素。在这种情况下,可能更倾向于使用groupElement(long)
      参数:
      name - 要选择的成员布局的名称。
      返回:
      选择具有给定名称的组成员布局的路径元素。
    • groupElement

      static MemoryLayout.PathElementPREVIEW groupElement(long index)
      返回一个选择组布局中给定索引的成员布局的路径元素。
      参数:
      index - 要选择的成员布局元素的索引。
      返回:
      选择具有给定索引的组成员布局的路径元素。
      抛出:
      IllegalArgumentException - 如果index < 0
    • sequenceElement

      static MemoryLayout.PathElementPREVIEW sequenceElement(long index)
      返回一个选择序列布局中指定位置的元素布局的路径元素。
      参数:
      index - 要选择的序列元素的索引。
      返回:
      选择具有给定索引的序列元素布局的路径元素。
      抛出:
      IllegalArgumentException - 如果index < 0
    • sequenceElement

      static MemoryLayout.PathElementPREVIEW sequenceElement(long start, long step)
      返回一个开放路径元素,用于选择序列布局中一系列位置的元素布局。范围由起始索引(包括)S和步长因子(也可以为负数)F表示。

      此布局选择的确切序列元素表示为索引I。如果C是序列元素计数,则遵循0 <= I < B,其中B计算如下:

      • 如果F > 0,则B = ceilDiv(C - S, F)
      • 如果F < 0,则B = ceilDiv(-(S + 1), -F)
      参数:
      start - 要选择的第一个序列元素的索引。
      step - 要选择子序列序列元素的步长因子。
      返回:
      选择具有给定索引的序列元素布局的路径元素。
      抛出:
      IllegalArgumentException - 如果start < 0,或step == 0
    • sequenceElement

      static MemoryLayout.PathElementPREVIEW sequenceElement()
      返回一个开放路径元素,用于选择序列布局中的未指定元素布局。

      此布局选择的确切序列元素表示为索引I。如果C是序列元素计数,则遵循0 <= I < C

      返回:
      选择未指定序列元素布局的路径元素。
    • dereferenceElement

      static MemoryLayout.PathElementPREVIEW dereferenceElement()
      返回一个将地址布局解引用为其目标布局预览(如果已设置)的路径元素。
      返回:
      选择将地址布局解引用的路径元素。