程序包 bsh

类 Primitive

java.lang.Object
bsh.Primitive
所有已实现的接口:
ParserConstants, Serializable

public final class Primitive extends Object implements ParserConstants, Serializable
Wrapper for primitive types in Bsh. This is package public because it is used in the implementation of some bsh commands. See the note in LHS.java about wrapping objects.
另请参阅:
  • 字段详细资料

    • NULL

      public static final Primitive NULL
    • VOID

      public static final Primitive VOID
      VOID means "no type". Strictly speaking, this makes no sense here. But for practical reasons we'll consider the lack of a type to be a special value.
  • 构造器详细资料

    • Primitive

      public Primitive(Object value)
    • Primitive

      public Primitive(boolean value)
    • Primitive

      public Primitive(byte value)
    • Primitive

      public Primitive(short value)
    • Primitive

      public Primitive(char value)
    • Primitive

      public Primitive(int value)
    • Primitive

      public Primitive(long value)
    • Primitive

      public Primitive(float value)
    • Primitive

      public Primitive(double value)
  • 方法详细资料

    • getValue

      public Object getValue()
      Return the primitive value stored in its java.lang wrapper class
    • toString

      public String toString()
      覆盖:
      toString 在类中 Object
    • getType

      public Class getType()
      Get the corresponding Java primitive TYPE class for this Primitive.
      返回:
      the primitive TYPE class type of the value or Void.TYPE for Primitive.VOID or null value for type of Primitive.NULL
    • binaryOperation

      public static Object binaryOperation(Object obj1, Object obj2, int kind) throws UtilEvalError
      Perform a binary operation on two Primitives or wrapper types. If both original args were Primitives return a Primitive result else it was mixed (wrapper/primitive) return the wrapper type. The exception is for boolean operations where we will return the primitive type either way.
      抛出:
      UtilEvalError
    • unaryOperation

      public static Primitive unaryOperation(Primitive val, int kind) throws UtilEvalError
      抛出:
      UtilEvalError
    • intValue

      public int intValue() throws UtilEvalError
      抛出:
      UtilEvalError
    • booleanValue

      public boolean booleanValue() throws UtilEvalError
      抛出:
      UtilEvalError
    • isNumber

      public boolean isNumber()
      Determine if this primitive is a numeric type. i.e. not boolean, null, or void (but including char)
    • numberValue

      public Number numberValue() throws UtilEvalError
      抛出:
      UtilEvalError
    • equals

      public boolean equals(Object obj)
      Primitives compare equal with other Primitives containing an equal wrapped value.
      覆盖:
      equals 在类中 Object
    • hashCode

      public int hashCode()
      The hash of the Primitive is tied to the hash of the wrapped value but shifted so that they are not the same.
      覆盖:
      hashCode 在类中 Object
    • unwrap

      public static Object unwrap(Object obj)
      Unwrap primitive values and map voids to nulls. Non Primitive types remain unchanged.
      参数:
      obj - object type which may be bsh.Primitive
      返回:
      corresponding "normal" Java type, "unwrapping" any bsh.Primitive types to their wrapper types.
    • unwrap

      public static Object[] unwrap(Object[] args)
    • wrap

      public static Object[] wrap(Object[] args, Class[] paramTypes)
    • wrap

      public static Object wrap(Object value, Class type)
      Wrap primitive values (as indicated by type param) and nulls in the Primitive class. Values not primitive or null are left unchanged. Primitive values are represented by their wrapped values in param value.

      The value null is mapped to Primitive.NULL. Any value specified with type Void.TYPE is mapped to Primitive.VOID.

    • getDefaultValue

      public static Primitive getDefaultValue(Class type)
      Get the appropriate default value per JLS 4.5.4
    • boxType

      public static Class boxType(Class primitiveType)
      Get the corresponding java.lang wrapper class for the primitive TYPE class. e.g. Integer.TYPE -> Integer.class
    • unboxType

      public static Class unboxType(Class wrapperType)
      Get the corresponding primitive TYPE class for the java.lang wrapper class type. e.g. Integer.class -> Integer.TYPE
    • castToType

      public Primitive castToType(Class toType, int operation) throws UtilEvalError
      Cast this bsh.Primitive value to a new bsh.Primitive value This is usually a numeric type cast. Other cases include: A boolean can be cast to boolen null can be cast to any object type and remains null Attempting to cast a void causes an exception
      参数:
      toType - is the java object or primitive TYPE class
      抛出:
      UtilEvalError
    • isWrapperType

      public static boolean isWrapperType(Class type)