gcc/libjava/java/lang/Byte.java
Tom Tromey ee9dd3721b Initial revision
From-SVN: r26263
1999-04-07 14:42:40 +00:00

145 lines
2.9 KiB
Java

/* 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 <bothner@cygnus.com>
* @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);
}
}