/* Copyright (C) 1998, 1999 Cygnus Solutions This file is part of libgcj. This software is copyrighted work licensed under the terms of the Libgcj License. Please consult the file "LIBGCJ_LICENSE" for details. */ package java.lang; /** * @author Per Bothner * @date April 17, 1998. */ /* Written using "Java Class Libraries", 2nd edition, plus online * API docs for JDK 1.2 beta from http://www.javasoft.com. * Status: Believed complete and correct. * Includes JDK 1.2 methods. */ public final class Byte extends Number implements Comparable { byte value; public final static byte MIN_VALUE = -128; public final static byte MAX_VALUE = 127; // This initialization is seemingly circular, but it is accepted // by javac, and is handled specially by gcc. public static final Class TYPE = byte.class; public Byte(byte value) { this.value = value; } public Byte(String str) throws NumberFormatException { this.value = parseByte(str, 10); } public byte byteValue() { return value; } public short shortValue() { return value; } public int intValue() { return value; } public long longValue () { return value; } public float floatValue () { return (float) value; } public double doubleValue () { return (double) value; } public static Byte decode(String str) throws NumberFormatException { int i = (Integer.decode(str)).intValue(); if (i < MIN_VALUE || i > MAX_VALUE) throw new NumberFormatException(); return new Byte((byte) i); } public static byte parseByte(String str, int radix) throws NumberFormatException { int i = Integer.parseInt(str, radix); if (i < MIN_VALUE || i > MAX_VALUE) throw new NumberFormatException(); return (byte) i; } public static byte parseByte(String str) throws NumberFormatException { return parseByte(str, 10); } public static Byte valueOf(String str, int radix) throws NumberFormatException { return new Byte(parseByte(str, radix)); } public static Byte valueOf(String str) throws NumberFormatException { return valueOf(str, 10); } // Added in JDK 1.2 public int compareTo(Byte anotherByte) { return this.value - anotherByte.value; } // Added in JDK 1.2 public int compareTo(Object o) throws ClassCastException { if (o instanceof Byte) return this.value - ((Byte) o).value; else throw new ClassCastException(); } public boolean equals(Object obj) { return obj != null && (obj instanceof Byte) && ((Byte)obj).value == value; } // Verified that hashCode is returns plain value (see Boolean_1 test). public int hashCode() { return value; } public String toString() { return Integer.toString((int) value); } public static String toString(byte value) { return Integer.toString((int) value); } }