Java包装类和Number类的学习

你。 提交于 2019-12-01 15:01:37

Byte类

包:java.lang

类的声明:public final class Byte extends Number implements Comparable<Byte>{}

公共访问权限,最终的不可继承,类名为Byte,继承了Number类,实现了Comparable<Byte>接口

常量:public static final byte MIN_VALUE = -128;

  public static final byte MAX_VALUE = 127;

公共访问权限,静态的,最终的不可修改的,byte类型的,标识符为MIN_VALUE或MAX_VALUE

1、toString(byte b)方法

public static String toString(byte b){
 return Integer.toString((int)b,10);
}

公共访问权限,静态的,返回类型为String,方法名为toString,传入参数为一个byte类型数据。

在方法体内部,调用Integer类的toString静态方法,传入两个值,一个是将byte类型数据强制转换为int类型数据,另一个为10表示这是一个10进制数。最后返回方法的结果给本toString()方法。

2、value0f(byte b)方法

public static Byte valueOf(byte b) {
       final int offset = 128;
       return ByteCache.cache[(int)b + offset];
}

公共访问权限,静态方法,返回类型为Byte,方法名为valueOf,传入参数为一个byte类型数据。

定义一个int类型的常量,名为offset,值为128.

3、parseByte(String s,int radix)方法

    public static byte parseByte(String s, int radix)
        throws NumberFormatException {
        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;
    }

公共访问权限,静态方法,返回类型为byte,类名为parseByte,传入两个参数,其中一个为字符串类型,另一个为int类型,表示进制,抛出NumberFormatException错误。

方法体内,将字符串s和int类型的进制表示传递给Integer类的parseInt静态方法,声明一个int类型的变量i接收方法结果。

如果i不在byte值范围内,则抛出错误;否则,将i强制转换为byte类型返回。

4、parse(String s)

    public static byte parseByte(String s) throws NumberFormatException {
        return parseByte(s, 10);
    }

与3相似,不主动设置进制,默认为10进制。

5、valueOf(String s, int radix)

    public static Byte valueOf(String s, int radix)
        throws NumberFormatException {
        return valueOf(parseByte(s, radix));
    }

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!