Интерфейс VectorOperators.Operator
- Все известные подинтерфейсы:
VectorOperators.Associative, VectorOperators.Binary, VectorOperators.Comparison, VectorOperators.Conversion<E,F>, VectorOperators.Ternary, VectorOperators.Test, VectorOperators.Unary
- Внешний класс:
VectorOperators
public static sealed interface VectorOperators.Operator permits VectorOperators.Unary, VectorOperators.Binary, VectorOperators.Ternary, VectorOperators.Test, VectorOperators.Comparison, VectorOperators.Conversion<E,F> (not exhaustive)
Корневой тип для всех токенов операторов, предоставляющий методы для получения общих свойств, таких как арность, типы аргументов и возвращаемого значения, символическое имя и имя оператора.
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
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 (маску). Для логического оператора в качестве
rangeType также возвращается boolean.- Возвращает:
- возвращает ли этот оператор значение типа 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.