Интерфейс GroupLayout
- Все суперинтерфейсы:
MemoryLayout
- Все известные дочерние интерфейсы:
-
StructLayout,UnionLayout
public sealed interface GroupLayout extends MemoryLayout permits StructLayout, UnionLayout
Составной макет, который является агрегацией нескольких разнородных членских макетов. Существует два способа объединения членских макетов: если членские макеты расположены один за другим, результирующий групповой макет представляет собой структурный макет; в противном случае, если все членские макеты расположены с одинаковым начальным смещением, результирующий групповой макет представляет собой объединение макетов.
- Требования к реализации:
- Этот класс неизменяемый, потокобезопасный и базирующийся на значениях.
- Граф иерархии класса Sealed:
- С:
- 22
Краткое описание вложенных классов
Вложенные классы/интерфейсы, объявленные в интерфейсе java.lang.foreign.MemoryLayout
MemoryLayout.PathElement
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
List |
memberLayouts() |
Возвращает членские макеты этого группового макета. |
GroupLayout |
withByteAlignment |
Возвращает макет памяти с теми же характеристиками, что и этот макет, но с заданным ограничением выравнивания (в байтах). |
GroupLayout |
withName |
Возвращает макет памяти с теми же характеристиками, что и этот макет, но с заданным именем. |
GroupLayout |
withoutName() |
Возвращает макет памяти с теми же характеристиками, что и этот макет, но без имени. |
Методы, объявленные в интерфейсе java.lang.foreign.MemoryLayout
arrayElementVarHandle, byteAlignment, byteOffset, byteOffsetHandle, byteSize, equals, hashCode, name, scale, scaleHandle, select, sliceHandle, toString, varHandle
Подробное описание методов
memberLayouts
List<MemoryLayout> memberLayouts()
Возвращает членские макеты этого группового макета.
- Примечание API:
- Порядок возврата членских макетов совпадает с порядком, в котором членские макеты были переданы одному из методов фабрики групповых макетов (см.
MemoryLayout.structLayout(MemoryLayout...)иMemoryLayout.unionLayout(MemoryLayout...)). - Возвращает:
- членские макеты этого группового макета
withName
GroupLayout withName(String name)
Возвращает макет памяти с теми же характеристиками, что и этот макет, но с заданным именем.
- Задано:
-
withNameв интерфейсеMemoryLayout - Параметры:
-
name- имя макета - Возвращает:
- макет памяти с теми же характеристиками, что и этот макет, но с заданным именем
- См. также:
withoutName
GroupLayout withoutName()
Возвращает макет памяти с теми же характеристиками, что и этот макет, но без имени.
- Задано:
-
withoutNameв интерфейсеMemoryLayout - Возвращает:
- макет памяти с теми же характеристиками, что и этот макет, но без имени
- См. также:
withByteAlignment
GroupLayout withByteAlignment(long byteAlignment)
Возвращает макет памяти с теми же характеристиками, что и этот макет, но с заданным ограничением выравнивания (в байтах).
- Задано:
-
withByteAlignmentв интерфейсеMemoryLayout - Параметры:
-
byteAlignment- ограничение выравнивания макета, выраженное в байтах - Возвращает:
- макет памяти с теми же характеристиками, что и этот макет, но с заданным ограничением выравнивания (в байтах)
- Выбрасывает:
-
IllegalArgumentException- еслиbyteAlignmentне является степенью двойки -
IllegalArgumentException- еслиbyteAlignmentменьшеM, гдеM- максимальное ограничение выравнивания в любом из членских макетов, связанных с этим групповым макетом
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.base/java/lang/foreign/GroupLayout.html