@Documented @Retention(value=RUNTIME) @Target(value={TYPE_USE,TYPE_PARAMETER}) @SubtypeOf(value={Unsigned.class,Signed.class}) public @interface Constant
Signed or Unsigned. It is either a manifest
literal, or it is a value whose most significant bit is not set (so it has the same
interpretation as signed or unsigned)
The programmer should not write this annotation; the programmer should always write Signed or Unsigned to indicate how the value is intended to be interpreted. The
programmer can also annotate values as @NonNegative, @Positive, or @IntRange(from=someNonNegativeConstant).