001: /*
002: *
003: *
004: * Copyright 1990-2007 Sun Microsystems, Inc. All Rights Reserved.
005: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
006: *
007: * This program is free software; you can redistribute it and/or
008: * modify it under the terms of the GNU General Public License version
009: * 2 only, as published by the Free Software Foundation.
010: *
011: * This program is distributed in the hope that it will be useful, but
012: * WITHOUT ANY WARRANTY; without even the implied warranty of
013: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
014: * General Public License version 2 for more details (a copy is
015: * included at /legal/license.txt).
016: *
017: * You should have received a copy of the GNU General Public License
018: * version 2 along with this work; if not, write to the Free Software
019: * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
020: * 02110-1301 USA
021: *
022: * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
023: * Clara, CA 95054 or visit www.sun.com if you need additional
024: * information or have any questions.
025: */
026:
027: package java.lang;
028:
029: /**
030: *
031: * The Byte class is the standard wrapper for byte values.
032: *
033: * @version 12/17/01 (CLDC 1.1)
034: * @since JDK1.1, CLDC 1.0
035: */
036: public final class Byte {
037:
038: /**
039: * The minimum value a Byte can have.
040: */
041: public static final byte MIN_VALUE = -128;
042:
043: /**
044: * The maximum value a Byte can have.
045: */
046: public static final byte MAX_VALUE = 127;
047:
048: /**
049: * Assuming the specified String represents a byte, returns
050: * that byte's value. Throws an exception if the String cannot
051: * be parsed as a byte. The radix is assumed to be 10.
052: *
053: * @param s the String containing the byte
054: * @return the parsed value of the byte
055: * @exception NumberFormatException If the string does not
056: * contain a parsable byte.
057: */
058: public static byte parseByte(String s) throws NumberFormatException {
059: return parseByte(s, 10);
060: }
061:
062: /**
063: * Assuming the specified String represents a byte, returns
064: * that byte's value. Throws an exception if the String cannot
065: * be parsed as a byte.
066: *
067: * @param s the String containing the byte
068: * @param radix the radix to be used
069: * @return the parsed value of the byte
070: * @exception NumberFormatException If the String does not
071: * contain a parsable byte.
072: */
073: public static byte parseByte(String s, int radix)
074: throws NumberFormatException {
075: int i = Integer.parseInt(s, radix);
076: if (i < MIN_VALUE || i > MAX_VALUE)
077: throw new NumberFormatException();
078: return (byte) i;
079: }
080:
081: /**
082: * The value of the Byte.
083: */
084: private byte value;
085:
086: /**
087: * Constructs a Byte object initialized to the specified byte value.
088: *
089: * @param value the initial value of the Byte
090: */
091: public Byte(byte value) {
092: this .value = value;
093: }
094:
095: /**
096: * Returns the value of this Byte as a byte.
097: *
098: * @return the value of this Byte as a byte.
099: */
100: public byte byteValue() {
101: return value;
102: }
103:
104: /**
105: * Returns a String object representing this Byte's value.
106: */
107: public String toString() {
108: return String.valueOf((int) value);
109: }
110:
111: /**
112: * Returns a hashcode for this Byte.
113: */
114: public int hashCode() {
115: return (int) value;
116: }
117:
118: /**
119: * Compares this object to the specified object.
120: *
121: * @param obj the object to compare with
122: * @return true if the objects are the same; false otherwise.
123: */
124: public boolean equals(Object obj) {
125: if (obj instanceof Byte) {
126: return value == ((Byte) obj).byteValue();
127: }
128: return false;
129: }
130:
131: }
|