Java 包装类

Java中的Java.Lang.Byte类

Java.Lang.Byte类是原始类型字节的包装类,它包含几种有效处理字节值的方法,如将其转换为字符串表示形式,反之亦然。Byte类的对象可以保存单个字节值。主要有两个构造函数来初始化一个Byte对象 -

Byte(byte b):创建一个用提供的值初始化的字节对象。

语法: public Byte(byte b)

参数:

b:用于初始化的值

Byte(String s):用字符串表示形式提供的字节值创建一个Byte对象。Defalut radix被认为是10。

语法: public Byte(String s)

抛出NumberFormatException

参数:

s:字节值的字符串表示

抛出:

NumberFormatException:如果提供的字符串不表示任何字节值。

方法:

toString():返回与字节值对应的字符串。

语法:public String toString(byte b)

参数:

b:需要字符串表示的字节值。

valueOf():返回使用提供的值初始化的Byte对象。

语法: public static Byte valueOf(byte b)

参数:

b:一个字节值

另一个提供类似于

新字节(Byte.parseByte(val,radix))的函数的重载函数valueOf(String val,int radix))

语法: public static Byte valueOf(String val,int radix)

抛出NumberFormatException

参数:

val:要解析为字节值的字符串

radix:解析时使用的基数

抛出:

NumberFormatException:如果字符串不能以给定的基数解析为字节值。

另一个重载函数valueOf(String val)提供了类似于

新的Byte(Byte.parseByte(val,10))的函数

语法: public static Byte valueOf(String s)

抛出NumberFormatException

参数:

s:要被解析为字节的String对象

抛出:

NumberFormatException:如果字符串不能以给定的基数解析为字节值。

parseByte():通过解析提供的基数字符串来返回字节值。与valueOf()不同,因为它返回一个基本字节值,valueOf()返回Byte对象。

语法: public static byte parseByte(String val,int radix)

抛出NumberFormatException

参数:

val:字节的字符串表示

radix:解析时使用的基数

抛出:

NumberFormatException:如果字符串不能以给定的基数解析为字节值。

另一个只包含String作为参数的重载方法,radix被defalut设置为10。

语法: public static byte parseByte(String val)

抛出NumberFormatException

参数:

val:字节的字符串表示

抛出:

NumberFormatException:如果字符串不能以给定的基数解析为字节值。

decode():返回一个保存所提供字符串解码值的Byte对象。提供的字符串必须为以下格式否则会抛出NumberFormatException -

十进制 - (符号)Decimal_Number十六进制

(符号)“0x”十六进制数字十六进制

(符号)“0X”十六

进制数字八进制 - (符号)“0”八进制数字

语法: public static Byte decode(String s)

抛出NumberFormatException

参数:

s:编码的字符串被解析为字节val

抛出:

NumberFormatException:如果字符串不能解码为字节值

byteValue():返回与此字节对象相对应的字节值。

语法: public byte byteValue()

shortValue():返回与此字节对象相对应的短值。

语法: public short shortValue()

intValue():返回与此字节对象相对应的int值。

语法: public int intValue()

longValue():返回与此字节对象相对应的长整型值。

语法: public long longValue()

doubleValue():返回与此字节对象相对应的double值。

语法: public double doubleValue()

floatValue():返回与此字节对象相对应的浮点值。

语法: public float floatValue()

hashCode():返回与此字节对象相对应的哈希码。

语法: public int hashCode()

equals():用于比较两个Byte对象的相等性。如果两个对象包含相同的字节值,则此方法返回true。只有在检查平等的情况下才能使用。在其他所有情况下,compareTo方法应该是首选。

语法: public boolean equals(Object obj)

参数:

obj:与之比较的对象

compareTo():用于比较两个Byte对象的数值相等。在比较两个Byte值以用于数值相等时应该使用它,因为它会区分较小值和较大值。返回小于0,0的值,大于0的值小于,等于和大于。

语法: public int compareTo(Byte b)

参数:

b:与之比较的字节对象

compare():用于比较两个基本字节值的数值相等。因为它是一个静态方法,因此可以在不创建任何Byte对象的情况下使用它。

语法: public static int compare(byte x,byte y)

参数:

x:字节值

y:另一个字节值

// Java program to illustrate
// various methods of Byte class
public class Byte_test
{
public static void main(String[] args)
{
byte b = 55;
String bb = "45";
// Construct two Byte objects
Byte x = new Byte(b);
Byte y = new Byte(bb);
// toString()
System.out.println("toString(b) = " + Byte.toString(b));
// valueOf()
// return Byte object
Byte z = Byte.valueOf(b);
System.out.println("valueOf(b) = " + z);
z = Byte.valueOf(bb);
System.out.println("ValueOf(bb) = " + z);
z = Byte.valueOf(bb, 6);
System.out.println("ValueOf(bb,6) = " + z);
// parseByte()
// return primitive byte value
byte zz = Byte.parseByte(bb);
System.out.println("parseByte(bb) = " + zz);
zz = Byte.parseByte(bb, 6);
System.out.println("parseByte(bb,6) = " + zz);
//decode()
String decimal = "45";
String octal = "005";
String hex = "0x0f";
Byte dec=Byte.decode(decimal);
System.out.println("decode(45) = " + dec);
dec=Byte.decode(octal);
System.out.println("decode(005) = " + dec);
dec=Byte.decode(hex);
System.out.println("decode(0x0f) = " + dec);
System.out.println("bytevalue(x) = " + x.byteValue());
System.out.println("shortvalue(x) = " + x.shortValue());
System.out.println("intvalue(x) = " + x.intValue());
System.out.println("longvalue(x) = " + x.longValue());
System.out.println("doublevalue(x) = " + x.doubleValue());
System.out.println("floatvalue(x) = " + x.floatValue());
int hash=x.hashCode();
System.out.println("hashcode(x) = " + hash);
boolean eq=x.equals(y);
System.out.println("x.equals(y) = " + eq);
int e=Byte.compare(x, y);
System.out.println("compare(x,y) = " + e);
int f=x.compareTo(y);
System.out.println("x.compareTo(y) = " + f);
}
}

输出:

toString(b) = 55

valueOf(b) = 55

ValueOf(bb) = 45

ValueOf(bb,6) = 29

parseByte(bb) = 45

parseByte(bb,6) = 29

decode(45) = 45

decode(005) = 5

decode(0x0f) = 15

bytevalue(x) = 55

shortvalue(x) = 55

intvalue(x) = 55

longvalue(x) = 55

doublevalue(x) = 55.0

floatvalue(x) = 55.0

hashcode(x) = 55

x.equals(y) = false

compare(x,y) = 10

x.compareTo(y) = 10