Module java.base
Package java.lang

Class Byte

所有已实现的接口:
Serializable, Comparable<Byte>, Constable

public final class Byte extends Number implements Comparable<Byte>, Constable
Byte类将原始类型byte的值包装在对象中。 Byte类型的对象包含一个字段,其类型为byte

此外,该类提供了几种方法,用于将byte转换为String,将String转换为byte,以及在处理byte时有用的其他常量和方法。

这是一个基于值的类;程序员应该将相等的实例视为可互换的,并且不应将实例用于同步,否则可能会发生不可预测的行为。 例如,在将来的版本中,同步可能会失败。

自:
1.1
参见:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    用于以二进制补码形式表示byte值所使用的字节数。
    static final byte
    保存byte可以具有的最大值的常量,即27-1。
    static final byte
    保存byte可以具有的最小值的常量,即-27
    static final int
    用于以二进制补码形式表示byte值所使用的位数。
    static final Class<Byte>
    表示原始类型byteClass实例。
  • Constructor Summary

    Constructors
    Constructor
    Description
    Byte(byte value)
    已弃用,将来会移除: 该API元素可能会在将来的版本中被移除。
    很少适合使用此构造函数。
    Byte(String s)
    已弃用,将来会移除: 该API元素可能会在将来的版本中被移除。
    很少适合使用此构造函数。
  • Method Summary

    Modifier and Type
    Method
    Description
    byte
    返回此Byte的值作为byte
    static int
    compare(byte x, byte y)
    按数字比较两个byte值。
    int
    compareTo(Byte anotherByte)
    按数字比较两个Byte对象。
    static int
    compareUnsigned(byte x, byte y)
    按无符号方式数字比较两个byte值。
    static Byte
    decode(String nm)
    String解码为Byte
    返回一个包含此实例的名义描述符的Optional
    double
    在扩展原始转换为double后,返回此Byte的值。
    boolean
    equals(Object obj)
    将此对象与指定对象进行比较。
    float
    在扩展原始转换为float后,返回此Byte的值。
    int
    返回此Byte的哈希码;等同于调用intValue()的结果。
    static int
    hashCode(byte value)
    返回byte值的哈希码;与Byte.hashCode()兼容。
    int
    在扩展原始转换为int后,返回此Byte的值。
    long
    在扩展原始转换为long后,返回此Byte的值。
    static byte
    将字符串参数解析为有符号的十进制byte
    static byte
    parseByte(String s, int radix)
    将字符串参数解析为由第二个参数指定的基数中的有符号byte
    short
    在扩展原始转换为short后,返回此Byte的值。
    返回表示此Byte值的String对象。
    static String
    toString(byte b)
    返回表示指定byte的新String对象。
    static int
    toUnsignedInt(byte x)
    通过无符号转换将参数转换为int
    static long
    toUnsignedLong(byte x)
    通过无符号转换将参数转换为long
    static Byte
    valueOf(byte b)
    返回表示指定byte值的Byte实例。
    static Byte
    返回包含由指定String给出的值的Byte对象。
    static Byte
    valueOf(String s, int radix)
    返回包含由指定String解析为由第二个参数给定的基数的值的Byte对象。

    Methods declared in class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Field Details

    • MIN_VALUE

      public static final byte MIN_VALUE
      保存byte可以具有的最小值的常量,即-27
      参见:
    • MAX_VALUE

      public static final byte MAX_VALUE
      保存byte可以具有的最大值的常量,即27-1。
      参见:
    • TYPE

      public static final Class<Byte> TYPE
      表示原始类型byteClass实例。
    • SIZE

      public static final int SIZE
      用于以二进制补码形式表示byte值所使用的位数。
      自:
      1.5
      参见:
    • BYTES

      public static final int BYTES
      用于以二进制补码形式表示byte值所使用的字节数。
      自:
      1.8
      参见:
  • Constructor Details

    • Byte

      @Deprecated(since="9", forRemoval=true) public Byte(byte value)
      Deprecated, for removal: This API element is subject to removal in a future version.
      It is rarely appropriate to use this constructor. The static factory valueOf(byte) is generally a better choice, as it is likely to yield significantly better space and time performance.
      构造一个新分配的Byte对象,表示指定的byte值。
      参数:
      value - 要由Byte表示的值。
    • Byte

      @Deprecated(since="9", forRemoval=true) public Byte(String s) throws NumberFormatException
      Deprecated, for removal: This API element is subject to removal in a future version.
      It is rarely appropriate to use this constructor. Use parseByte(String) to convert a string to a byte primitive, or use valueOf(String) to convert a string to a Byte object.
      构造一个新分配的Byte对象,表示由String参数指示的byte值。 该字符串将按照基数10的方式转换为byte值,与parseByte方法使用的方式完全相同。
      参数:
      s - 要转换为ByteString
      抛出:
      NumberFormatException - 如果String不包含可解析的byte
  • Method Details

    • toString

      public static String toString(byte b)
      返回表示指定byte的新String对象。 基数假定为10。
      参数:
      b - 要转换的byte
      返回:
      指定byte的字符串表示形式
      参见:
    • describeConstable

      public Optional<DynamicConstantDesc<Byte>> describeConstable()
      返回一个包含此实例的名义描述符的Optional
      指定者:
      describeConstable 在接口 Constable
      返回:
      描述Byte实例的Optional
      自:
      15
    • valueOf

      public static Byte valueOf(byte b)
      返回表示指定byte值的Byte实例。 如果不需要新的Byte实例,则通常应优先使用此方法,而不是构造函数Byte(byte),因为此方法可能会产生明显更好的空间和时间性能,因为所有byte值都被缓存。
      参数:
      b - 一个byte值。
      返回:
      表示bByte实例。
      自:
      1.5
    • parseByte

      public static byte parseByte(String s, int radix) throws NumberFormatException
      将字符串参数解析为由第二个参数指定的基数中的有符号byte。 字符串中的字符必须都是指定基数的数字(由Character.digit(char, int)返回非负值确定),除了第一个字符可以是ASCII减号'-''\u002D')以指示负值或ASCII加号'+''\u002B')以指示正值。 返回生成的byte值。

      如果发生以下任何情况,则会抛出NumberFormatException异常:

      • 第一个参数为null或长度为零的字符串。
      • 基数小于Character.MIN_RADIX或大于Character.MAX_RADIX
      • 字符串中的任何字符不是指定基数的数字,除非第一个字符是减号'-''\u002D')或加号'+''\u002B'),前提是字符串长度大于1。
      • 字符串表示的值不是byte类型的值。
      参数:
      s - 包含要解析为指定基数中的byte表示的String
      radix - 解析s时要使用的基数
      返回:
      指定基数中字符串参数表示的byte
      抛出:
      NumberFormatException - 如果字符串不包含可解析的byte
    • parseByte

      public static byte parseByte(String s) throws NumberFormatException
      解析字符串参数作为有符号十进制字节。字符串中的字符必须都是十进制数字,除了第一个字符可以是ASCII减号'-''\u002D')表示负值或ASCII加号'+''\u002B')表示正值。返回结果字节值,就像将参数和基数10作为参数传递给parseByte(java.lang.String, int)方法一样。
      参数:
      s - 包含要解析的字节表示的String
      返回:
      参数在十进制中表示的字节
      抛出:
      NumberFormatException - 如果字符串不包含可解析的字节
    • valueOf

      public static Byte valueOf(String s, int radix) throws NumberFormatException
      返回一个包含从指定String解析时使用第二个参数指定的基数提取的值的Byte对象。第一个参数被解释为以第二个参数指定的基数表示的有符号字节,就像将参数传递给parseByte(java.lang.String, int)方法一样。结果是一个表示字符串指定的字节值的Byte对象。

      换句话说,此方法返回一个等于以下值的Byte对象:

      Byte.valueOf(Byte.parseByte(s, radix))
      参数:
      s - 要解析的字符串
      radix - 用于解释s的基数
      返回:
      一个包含指定基数中字符串参数表示的值的Byte对象。
      抛出:
      NumberFormatException - 如果String不包含可解析的字节
    • valueOf

      public static Byte valueOf(String s) throws NumberFormatException
      返回一个包含指定String给定值的Byte对象。参数被解释为表示有符号十进制字节,就像将参数传递给parseByte(java.lang.String)方法一样。结果是一个表示字符串指定的字节值的Byte对象。

      换句话说,此方法返回一个等于以下值的Byte对象:

      Byte.valueOf(Byte.parseByte(s))
      参数:
      s - 要解析的字符串
      返回:
      一个包含由字符串参数表示的值的Byte对象
      抛出:
      NumberFormatException - 如果String不包含可解析的字节
    • decode

      public static Byte decode(String nm) throws NumberFormatException
      String解码为Byte。接受由以下语法给出的十进制、十六进制和八进制数字:
      可解码字符串:
      符号可选 十进制数
      符号可选 0x 十六进制数字
      符号可选 0X 十六进制数字
      符号可选 # 十六进制数字
      符号可选 0 八进制数字
      符号:
      -
      +
      十进制数十六进制数字八进制数字的定义如Java语言规范第3.10.1节中所定义,但是在数字之间不接受下划线。

      在可选符号和/或基数指示符("0x"、"0X"、"#"或前导零)后面的字符序列被解析为具有指定基数(10、16或8)的Byte.parseByte方法。这个字符序列必须表示一个正值,否则将抛出NumberFormatException。如果指定的String的第一个字符是减号,则结果是负数。在String中不允许有空白字符。

      参数:
      nm - 要解码的String
      返回:
      一个包含由nm表示的字节值的Byte对象
      抛出:
      NumberFormatException - 如果String不包含可解析的字节
      参见:
    • byteValue

      public byte byteValue()
      返回此Byte的值作为byte
      覆盖:
      byteValue 在类 Number
      返回:
      转换为byte类型后此对象表示的数值。
    • shortValue

      public short shortValue()
      返回此Byte的值作为扩展原始转换后的short
      覆盖:
      shortValue 在类 Number
      返回:
      转换为short类型后此对象表示的数值。
      参见Java语言规范:
      5.1.2 扩展原始转换
    • intValue

      public int intValue()
      返回此Byte的值作为扩展原始转换后的int
      指定:
      intValue 在类 Number
      返回:
      转换为int类型后此对象表示的数值。
      参见Java语言规范:
      5.1.2 扩展原始转换
    • longValue

      public long longValue()
      返回此Byte的值作为扩展原始转换后的long
      指定:
      longValue 在类 Number
      返回:
      转换为long类型后此对象表示的数值。
      参见Java语言规范:
      5.1.2 扩展原始转换
    • floatValue

      public float floatValue()
      返回此Byte的值作为扩展原始转换后的float
      指定:
      floatValue 在类 Number
      返回:
      转换为float类型后此对象表示的数值。
      参见Java语言规范:
      5.1.2 扩展原始转换
    • doubleValue

      public double doubleValue()
      返回此Byte的值作为扩展原始转换后的double
      指定:
      doubleValue 在类 Number
      返回:
      转换为double类型后此对象表示的数值。
      参见Java语言规范:
      5.1.2 扩展原始转换
    • toString

      public String toString()
      返回表示此Byte值的String对象。该值被转换为有符号十进制表示并作为字符串返回,就像将byte值作为参数传递给toString(byte)方法一样。
      覆盖:
      toString 在类 Object
      返回:
      此对象的值的十进制表示的字符串。
    • hashCode

      public int hashCode()
      返回此Byte的哈希码;等于调用intValue()的结果。
      覆盖:
      hashCode 在类 Object
      返回:
      Byte的哈希码值
      参见:
    • hashCode

      public static int hashCode(byte value)
      返回byte值的哈希码;与Byte.hashCode()兼容。
      参数:
      value - 要哈希的值
      返回:
      byte值的哈希码值。
      自1.8起
    • equals

      public boolean equals(Object obj)
      将此对象与指定对象进行比较。结果为true当且仅当参数不为null且为包含与此对象相同byte值的Byte对象时。
      覆盖:
      equals 在类 Object
      参数:
      obj - 要比较的对象
      返回:
      如果对象相同则返回true; 否则返回false
      参见:
    • compareTo

      public int compareTo(Byte anotherByte)
      按数字比较两个Byte对象。
      指定者:
      compareTo 在接口 Comparable<Byte>
      参数:
      anotherByte - 要比较的Byte
      返回:
      如果此Byte等于参数Byte,则返回值为0; 如果此Byte在数字上小于参数Byte,则返回小于0的值; 如果此Byte在数字上大于参数Byte,则返回大于0的值(有符号比较)。
      自:
      1.2
    • compare

      public static int compare(byte x, byte y)
      按数字比较两个byte值。返回的值与以下内容相同:
          Byte.valueOf(x).compareTo(Byte.valueOf(y))
       
      参数:
      x - 要比较的第一个byte
      y - 要比较的第二个byte
      返回:
      如果x == y,则返回值为0; 如果x < y,则返回小于0的值; 如果x > y,则返回大于0的值
      自:
      1.7
    • compareUnsigned

      public static int compareUnsigned(byte x, byte y)
      按无符号方式比较两个byte值。
      参数:
      x - 要比较的第一个byte
      y - 要比较的第二个byte
      返回:
      如果x == y,则返回值为0; 如果x < y(作为无符号值),则返回小于0的值; 如果x > y(作为无符号值),则返回大于0的值
      自:
      9
    • toUnsignedInt

      public static int toUnsignedInt(byte x)
      通过无符号转换将参数转换为int。在将byte转换为int的无符号转换中,int的高24位为零,低8位等于byte参数的位。因此,零和正byte值被映射为数值相等的int值,而负byte值被映射为等于输入加28int值。
      参数:
      x - 要转换为无符号int的值
      返回:
      通过无符号转换将参数转换为int
      自:
      1.8
    • toUnsignedLong

      public static long toUnsignedLong(byte x)
      通过无符号转换将参数转换为long。在将byte转换为long的无符号转换中,long的高56位为零,低8位等于byte参数的位。因此,零和正byte值被映射为数值相等的long值,而负byte值被映射为等于输入加28long值。
      参数:
      x - 要转换为无符号long的值
      返回:
      通过无符号转换将参数转换为long
      自:
      1.8