Интерфейс VectorOperators.Operator
- Все известные подинтерфейсы:
VectorOperators.Associative, VectorOperators.Binary, VectorOperators.Comparison, VectorOperators.Conversion<E,F>, VectorOperators.Ternary, VectorOperators.Test, VectorOperators.Unary
- Внешний класс:
VectorOperators
public static interface VectorOperators.Operator
Базовый тип для всех токенов операторов, предоставляющий методы для получения общих свойств, таких как арность, типы аргументов и возвращаемого значения, символьное имя и имя оператора.
- Примечание API:
- Пользовательский код не должен реализовывать этот интерфейс. В будущей версии этого типа реализации могут быть ограничены членами того же пакета.
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
int |
arity() |
Возвращает арность этого оператора (1, 2 или 3). |
boolean |
compatibleWith |
Сообщает, совместим ли этот оператор с предлагаемым типом элемента. |
boolean |
isAssociative() |
Возвращает ассоциативность этого оператора. |
boolean |
isBoolean() |
Сообщает, возвращает ли этот оператор значение boolean (маску). |
String |
name() |
Возвращает символьное имя этого оператора в виде константы в VectorOperators. |
String |
operatorName() |
Возвращает символ оператора Java или имя метода, соответствующее этому оператору. |
Class |
rangeType() |
Сообщает специальный тип возвращаемого значения этого оператора. |
Подробное описание методов
name
String name()
Возвращает символьное имя этого оператора в виде константы в
VectorOperators. Символ оператора, имя метода Java или пример выражения, например "+", "max" или "-a", также доступны через operatorName().- Возвращает:
- символьное имя этого оператора, например
"ADD"
operatorName
String operatorName()
Возвращает символ оператора Java или имя метода, соответствующее этому оператору. Если символа или метода нет, возвращает строку с примером выражения для оператора, используя имена операндов
a, b (для операторов неунарного типа) и c (для тернарных операторов). Символьное имя константы, например "ADD", также доступно через name().- Возвращает:
- токен оператора, например
"+", имя метода, например"max", или пример выражения, например"-a"
arity
int arity()
Возвращает арность этого оператора (1, 2 или 3).
- Возвращает:
- арность этого оператора (1, 2 или 3)
isBoolean
boolean isBoolean()
Сообщает, возвращает ли этот оператор значение boolean (маску). Для логического оператора
boolean также сообщается как rangeType.- Возвращает:
- возвращает ли этот оператор значение boolean
rangeType
Class<?> rangeType()
Сообщает специальный тип возвращаемого значения этого оператора. Если этот оператор логический, возвращает
boolean.class. Если этот оператор является Conversion, возвращает его тип диапазона. В противном случае возвращаемое значение оператора всегда имеет тип, заданный на входе, и этот метод возвращает Object.class, чтобы обозначить этот факт.- Возвращает:
- специальный тип возвращаемого значения или
Object.class, если такого типа нет
isAssociative
boolean isAssociative()
Возвращает ассоциативность этого оператора. Ассоциативными могут быть только бинарные операторы.
- Возвращает:
- ассоциативность этого оператора
compatibleWith
boolean compatibleWith(Class<?> elementType)
Сообщает, совместим ли этот оператор с предлагаемым типом элемента. Во-первых, операторы без ограничений совместимы со всеми типами элементов. Далее, если тип элемента —
double или float, а оператор ограничен типами с плавающей точкой, он совместим. В противном случае, если тип элемента не является ни double, ни float, а оператор ограничен целочисленными типами, он совместим. В остальных случаях оператор несовместим.- Параметры:
-
elementType— предлагаемый тип операнда для оператора - Возвращает:
- совместим ли предлагаемый тип с этим оператором
© 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://docs.oracle.com/en/java/javase/25/docs/api/jdk.incubator.vector/jdk/incubator/vector/VectorOperators.Operator.html