- 已知的所有子接口:
-
VectorOperators.Associative
,VectorOperators.Binary
,VectorOperators.Comparison
,VectorOperators.Conversion<E,
,F> VectorOperators.Ternary
,VectorOperators.Test
,VectorOperators.Unary
- 封装类:
-
VectorOperators
public static interface VectorOperators.Operator
所有操作符令牌的根类型,提供常见属性的查询,如参数数量、参数和返回类型、符号名称和操作符名称。
- API 注意:
- 用户代码不应该实现此接口。将来的版本可能会限制实现为同一包的成员。
- 参见:
-
Method Summary
Modifier and TypeMethodDescriptionint
arity()
返回此操作符的参数数量 (1、2 或 3)。boolean
compatibleWith
(Class<?> elementType) 报告此操作符是否与提议的元素类型兼容。boolean
返回此操作符的结合性。boolean
报告此操作符是否返回布尔值 (掩码)。name()
返回此操作符的符号名称,作为VectorOperators
中的常量。返回与此操作符对应的Java操作符符号或方法名称。Class
<?> 报告此操作符的特殊返回类型。
-
Method Details
-
name
String name()- 返回:
-
此操作符的符号名称,如
"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
进行报告。- 返回:
- 此操作符是否返回布尔值
-
rangeType
Class<?> rangeType()报告此操作符的特殊返回类型。如果此操作符是布尔值,则返回boolean.class
。如果此操作符是一个Conversion
,则返回其 范围类型。否则,操作符的返回值始终具有作为输入给定的任何类型,并且此方法返回Object.class
以表示这一事实。- 返回:
-
特殊的返回类型,如果没有则返回
Object.class
-
isAssociative
boolean isAssociative()返回此操作符的结合性。只有二元操作符可以是结合的。- 返回:
- 此操作符的结合性
-
compatibleWith
报告此操作符是否与提议的元素类型兼容。首先,无限制的操作符与所有元素类型兼容。接下来,如果元素类型是double
或float
,并且操作符限制为浮点类型,则兼容。否则,如果元素类型既不是double
也不是float
,并且操作符限制为整数类型,则兼容。否则,操作符不兼容。- 参数:
-
elementType
- 操作符的提议操作数类型 - 返回:
- 提议的类型是否与此操作符兼容
-