Interface 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 注意:
用户代码不应该实现此接口。将来的版本可能会限制实现为同一包的成员。
参见:
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    arity()
    返回此操作符的参数数量 (1、2 或 3)。
    boolean
    compatibleWith(Class<?> elementType)
    报告此操作符是否与提议的元素类型兼容。
    boolean
    返回此操作符的结合性。
    boolean
    报告此操作符是否返回布尔值 (掩码)。
    name()
    返回此操作符的符号名称,作为 VectorOperators 中的常量。
    返回与此操作符对应的Java操作符符号或方法名称。
    Class<?>
    报告此操作符的特殊返回类型。
  • Method Details

    • name

      String name()
      返回此操作符的符号名称,作为 VectorOperators 中的常量。操作符符号、Java方法名称或示例表达式,如 "+""max""-a",也可通过 operatorName() 获得。
      返回:
      此操作符的符号名称,如 "ADD"
    • operatorName

      String operatorName()
      返回与此操作符对应的Java操作符符号或方法名称。如果没有符号或方法,则返回一个包含操作符的代表表达式的字符串,使用操作数名称 ab (对于非一元操作符) 和 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

      boolean compatibleWith(Class<?> elementType)
      报告此操作符是否与提议的元素类型兼容。首先,无限制的操作符与所有元素类型兼容。接下来,如果元素类型是 doublefloat,并且操作符限制为浮点类型,则兼容。否则,如果元素类型既不是 double 也不是 float,并且操作符限制为整数类型,则兼容。否则,操作符不兼容。
      参数:
      elementType - 操作符的提议操作数类型
      返回:
      提议的类型是否与此操作符兼容