FileDocCategorySizeDatePackage
Byte.javaAPI DocJava SE 5 API15623Fri Aug 26 14:57:00 BST 2005java.lang

Byte

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

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

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

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

param
value the value to be represented by the Byte.

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

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

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

	return value;
    
public intcompareTo(java.lang.Byte anotherByte)
Compares two Byte objects numerically.

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

	return this.value - anotherByte.value;
    
public static java.lang.Bytedecode(java.lang.String nm)
Decodes a String into a Byte. 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 Byte.parseByte 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 Byte object holding the byte value represented by nm
exception
NumberFormatException if the String does not contain a parsable byte.
see
java.lang.Byte#parseByte(java.lang.String, int)

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

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

	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 = Byte.valueOf(nm.substring(index), radix);
            result = negative ? new Byte((byte)-result.byteValue()) : result;
        } catch (NumberFormatException e) {
            // If number is Byte.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 = Byte.valueOf(constant, radix);
        }
        return result;
    
public doubledoubleValue()
Returns the value of this Byte 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 Byte object that contains the same byte value as this object.

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

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

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

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

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

	return (long)value;
    
public static byteparseByte(java.lang.String s)
Parses the string argument as a signed decimal byte. 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 byte value is returned, exactly as if the argument and the radix 10 were given as arguments to the {@link #parseByte(java.lang.String, int)} method.

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

	return parseByte(s, 10);
    
public static byteparseByte(java.lang.String s, int radix)
Parses the string argument as a signed byte 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 byte.

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

	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 (byte)i;
    
public shortshortValue()
Returns the value of this Byte as a short.

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

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


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

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

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

param
b a byte value.
return
a Byte instance representing b.
since
1.5


	 
	    for(int i = 0; i < cache.length; i++)
		cache[i] = new Byte((byte)(i - 128));
	
	final int offset = 128;
	return ByteCache.cache[(int)b + offset];
    
public static java.lang.BytevalueOf(java.lang.String s, int radix)
Returns a Byte 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 byte in the radix specified by the second argument, exactly as if the argument were given to the {@link #parseByte(java.lang.String, int)} method. The result is a Byte object that represents the byte value specified by the string.

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

new Byte(Byte.parseByte(s, radix))

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

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

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

new Byte(Byte.parseByte(s))

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

	return valueOf(s, 10);