FileDocCategorySizeDatePackage
Short.javaAPI DocJava SE 5 API16331Fri Aug 26 14:57:04 BST 2005java.lang

Short

public final class Short extends Number implements Comparable
The Short class wraps a value of primitive type short in an object. An object of type Short contains a single field whose type is short.

In addition, this class provides several methods for converting a short to a String and a String to a short, as well as other constants and methods useful when dealing with a short.

author
Nakul Saraiya
version
1.43, 05/11/04
see
java.lang.Number
since
JDK1.1

Fields Summary
public static final short
MIN_VALUE
A constant holding the minimum value a short can have, -215.
public static final short
MAX_VALUE
A constant holding the maximum value a short can have, 215-1.
public static final Class
TYPE
The Class instance representing the primitive type short.
private final short
value
The value of the Short.
public static final int
SIZE
The number of bits used to represent a short value in two's complement binary form.
private static final long
serialVersionUID
use serialVersionUID from JDK 1.1. for interoperability
Constructors Summary
public Short(short value)
Constructs a newly allocated Short object that represents the specified short value.

param
value the value to be represented by the Short.

	this.value = value;
    
public Short(String s)
Constructs a newly allocated Short object that represents the short value indicated by the String parameter. The string is converted to a short value in exactly the manner used by the parseShort method for radix 10.

param
s the String to be converted to a Short
exception
NumberFormatException If the String does not contain a parsable short.
see
java.lang.Short#parseShort(java.lang.String, int)

	this.value = parseShort(s, 10);
    
Methods Summary
public bytebyteValue()
Returns the value of this Short as a byte.

	return (byte)value;
    
public intcompareTo(java.lang.Short anotherShort)
Compares two Short objects numerically.

param
anotherShort the Short to be compared.
return
the value 0 if this Short is equal to the argument Short; a value less than 0 if this Short is numerically less than the argument Short; and a value greater than 0 if this Short is numerically greater than the argument Short (signed comparison).
since
1.2

	return this.value - anotherShort.value;
    
public static java.lang.Shortdecode(java.lang.String nm)
Decodes a String into a Short. Accepts decimal, hexadecimal, and octal numbers given by the following grammar:
DecodableString:
Signopt DecimalNumeral
Signopt 0x HexDigits
Signopt 0X HexDigits
Signopt # HexDigits
Signopt 0 OctalDigits

Sign:
-
DecimalNumeral, HexDigits, and OctalDigits are defined in §3.10.1 of the Java Language Specification.

The sequence of characters following an (optional) negative sign and/or radix specifier ("0x", "0X", "#", or leading zero) is parsed as by the Short.parseShort method with the indicated radix (10, 16, or 8). This sequence of characters must represent a positive value or a {@link NumberFormatException} will be thrown. The result is negated if first character of the specified String is the minus sign. No whitespace characters are permitted in the String.

param
nm the String to decode.
return
a Short object holding the short value represented by nm
exception
NumberFormatException if the String does not contain a parsable short.
see
java.lang.Short#parseShort(java.lang.String, int)

        int radix = 10;
        int index = 0;
        boolean negative = false;
        Short result;

        // Handle minus sign, if present
        if (nm.startsWith("-")) {
            negative = true;
            index++;
        }

        // Handle radix specifier, if present
	if (nm.startsWith("0x", index) || nm.startsWith("0X", index)) {
	    index += 2;
            radix = 16;
	}
	else if (nm.startsWith("#", index)) {
	    index ++;
            radix = 16;
	}
	else if (nm.startsWith("0", index) && nm.length() > 1 + index) {
	    index ++;
            radix = 8;
	}

        if (nm.startsWith("-", index))
            throw new NumberFormatException("Negative sign in wrong position");

        try {
            result = Short.valueOf(nm.substring(index), radix);
            result = negative ? new Short((short)-result.shortValue()) :result;
        } catch (NumberFormatException e) {
            // If number is Short.MIN_VALUE, we'll end up here. The next line
            // handles this case, and causes any genuine format error to be
            // rethrown.
            String constant = negative ? new String("-" + nm.substring(index))
                                       : nm.substring(index);
            result = Short.valueOf(constant, radix);
        }
        return result;
    
public doubledoubleValue()
Returns the value of this Short as a double.

	return (double)value;
    
public booleanequals(java.lang.Object obj)
Compares this object to the specified object. The result is true if and only if the argument is not null and is a Short object that contains the same short value as this object.

param
obj the object to compare with
return
true if the objects are the same; false otherwise.

	if (obj instanceof Short) {
	    return value == ((Short)obj).shortValue();
	}
	return false;
    
public floatfloatValue()
Returns the value of this Short as a float.

	return (float)value;
    
public inthashCode()
Returns a hash code for this Short.

	return (int)value;
    
public intintValue()
Returns the value of this Short as an int.

	return (int)value;
    
public longlongValue()
Returns the value of this Short as a long.

	return (long)value;
    
public static shortparseShort(java.lang.String s)
Parses the string argument as a signed decimal short. The characters in the string must all be decimal digits, except that the first character may be an ASCII minus sign '-' ('\u002D') to indicate a negative value. The resulting short value is returned, exactly as if the argument and the radix 10 were given as arguments to the {@link #parseShort(java.lang.String, int)} method.

param
s a String containing the short representation to be parsed
return
the short value represented by the argument in decimal.
exception
NumberFormatException If the string does not contain a parsable short.

	return parseShort(s, 10);
    
public static shortparseShort(java.lang.String s, int radix)
Parses the string argument as a signed short in the radix specified by the second argument. The characters in the string must all be digits, of the specified radix (as determined by whether {@link java.lang.Character#digit(char, int)} returns a nonnegative value) except that the first character may be an ASCII minus sign '-' ('\u002D') to indicate a negative value. The resulting byte value is returned.

An exception of type NumberFormatException is thrown if any of the following situations occurs:

  • The first argument is null or is a string of length zero.
  • The radix is either smaller than {@link java.lang.Character#MIN_RADIX} or larger than {@link java.lang.Character#MAX_RADIX}.
  • Any character of the string is not a digit of the specified radix, except that the first character may be a minus sign '-' ('\u002D') provided that the string is longer than length 1.
  • The value represented by the string is not a value of type short.

param
s the String containing the short representation to be parsed
param
radix the radix to be used while parsing s
return
the short represented by the string argument in the specified radix.
exception
NumberFormatException If the String does not contain a parsable short.

	int i = Integer.parseInt(s, radix);
	if (i < MIN_VALUE || i > MAX_VALUE)
	    throw new NumberFormatException(
                "Value out of range. Value:\"" + s + "\" Radix:" + radix);
	return (short)i;
    
public static shortreverseBytes(short i)
Returns the value obtained by reversing the order of the bytes in the two's complement representation of the specified short value.

return
the value obtained by reversing (or, equivalently, swapping) the bytes in the specified short value.
since
1.5

 
                                                    
         
        return (short) (((i & 0xFF00) >> 8) | (i << 8));
    
public shortshortValue()
Returns the value of this Short as a short.

	return value;
    
public static java.lang.StringtoString(short s)
Returns a new String object representing the specified short. The radix is assumed to be 10.

param
s the short to be converted
return
the string representation of the specified short
see
java.lang.Integer#toString(int)


                                          
         
	return Integer.toString((int)s, 10);
    
public java.lang.StringtoString()
Returns a String object representing this Short's value. The value is converted to signed decimal representation and returned as a string, exactly as if the short value were given as an argument to the {@link java.lang.Short#toString(short)} method.

return
a string representation of the value of this object in base 10.

	return String.valueOf((int)value);
    
public static java.lang.ShortvalueOf(java.lang.String s, int radix)
Returns a Short object holding the value extracted from the specified String when parsed with the radix given by the second argument. The first argument is interpreted as representing a signed short in the radix specified by the second argument, exactly as if the argument were given to the {@link #parseShort(java.lang.String, int)} method. The result is a Short object that represents the short value specified by the string.

In other words, this method returns a Short object equal to the value of:

new Short(Short.parseShort(s, radix))

param
s the string to be parsed
param
radix the radix to be used in interpreting s
return
a Short object holding the value represented by the string argument in the specified radix.
exception
NumberFormatException If the String does not contain a parsable short.

	return new Short(parseShort(s, radix));
    
public static java.lang.ShortvalueOf(java.lang.String s)
Returns a Short object holding the value given by the specified String. The argument is interpreted as representing a signed decimal short, exactly as if the argument were given to the {@link #parseShort(java.lang.String)} method. The result is a Short object that represents the short value specified by the string.

In other words, this method returns a Byte object equal to the value of:

new Short(Short.parseShort(s))

param
s the string to be parsed
return
a Short object holding the value represented by the string argument
exception
NumberFormatException If the String does not contain a parsable short.

	return valueOf(s, 10);
    
public static java.lang.ShortvalueOf(short s)
Returns a Short instance representing the specified short value. If a new Short instance is not required, this method should generally be used in preference to the constructor {@link #Short(short)}, as this method is likely to yield significantly better space and time performance by caching frequently requested values.

param
s a short value.
return
a Short instance representing s.
since
1.5


	 
	    for(int i = 0; i < cache.length; i++)
		cache[i] = new Short((short)(i - 128));
	
	final int offset = 128;
	int sAsInt = s;
	if (sAsInt >= -128 && sAsInt <= 127) { // must cache 
	    return ShortCache.cache[sAsInt + offset];
	}
        return new Short(s);