📄 byte.java
字号:
* The sequence of characters following an (optional) negative * sign and/or radix specifier ("<code>0x</code>", * "<code>0X</code>", "<code>#</code>", or * leading zero) is parsed as by the <code>Byte.parseByte</code> * method with the indicated radix (10, 16, or 8). This sequence * of characters must represent a positive value or a {@link * NumberFormatException} will be thrown. The result is negated * if first character of the specified <code>String</code> is the * minus sign. No whitespace characters are permitted in the * <code>String</code>. * * @param nm the <code>String</code> to decode. * @return a <code>Byte</code> object holding the <code>byte</code> * value represented by <code>nm</code> * @exception NumberFormatException if the <code>String</code> does not * contain a parsable <code>byte</code>. * @see java.lang.Byte#parseByte(java.lang.String, int) */ public static Byte decode(String nm) throws NumberFormatException { int radix = 10; int index = 0; boolean negative = false; Byte result; // Handle minus sign, if present if (nm.startsWith("-")) { negative = true; index++; } if (nm.startsWith("0x", index) || nm.startsWith("0X", index)) { index += 2; radix = 16; } else if (nm.startsWith("#", index)) { index++; radix = 16; } else if (nm.startsWith("0", index) && nm.length() > 1 + index) { index++; radix = 8; } if (nm.startsWith("-", index)) throw new NumberFormatException("Negative sign in wrong position"); try { result = Byte.valueOf(nm.substring(index), radix); result = negative ? new Byte((byte)-result.byteValue()) : result; } catch (NumberFormatException e) { // If number is Byte.MIN_VALUE, we'll end up here. The next line // handles this case, and causes any genuine format error to be // rethrown. String constant = negative ? new String("-" + nm.substring(index)) : nm.substring(index); result = Byte.valueOf(constant, radix); } return result; } /** * The value of the <code>Byte</code>. * * @serial */ private byte value; /** * Constructs a newly allocated <code>Byte</code> object that * represents the specified <code>byte</code> value. * * @param value the value to be represented by the * <code>Byte</code>. */ public Byte(byte value) { this.value = value; } /** * Constructs a newly allocated <code>Byte</code> object that * represents the <code>byte</code> value indicated by the * <code>String</code> parameter. The string is converted to a * <code>byte</code> value in exactly the manner used by the * <code>parseByte</code> method for radix 10. * * @param s the <code>String</code> to be converted to a * <code>Byte</code> * @exception NumberFormatException If the <code>String</code> * does not contain a parsable <code>byte</code>. * @see java.lang.Byte#parseByte(java.lang.String, int) */ public Byte(String s) throws NumberFormatException { this.value = parseByte(s, 10); } /** * Returns the value of this <code>Byte</code> as a * <code>byte</code>. */ public byte byteValue() { return value; } /** * Returns the value of this <code>Byte</code> as a * <code>short</code>. */ public short shortValue() { return (short)value; } /** * Returns the value of this <code>Byte</code> as an * <code>int</code>. */ public int intValue() { return (int)value; } /** * Returns the value of this <code>Byte</code> as a * <code>long</code>. */ public long longValue() { return (long)value; } /** * Returns the value of this <code>Byte</code> as a * <code>float</code>. */ public float floatValue() { return (float)value; } /** * Returns the value of this <code>Byte</code> as a * <code>double</code>. */ public double doubleValue() { return (double)value; } /** * Returns a <code>String</code> object representing this * <code>Byte</code>'s value. The value is converted to signed * decimal representation and returned as a string, exactly as if * the <code>byte</code> value were given as an argument to the * {@link java.lang.Byte#toString(byte)} method. * * @return a string representation of the value of this object in * base 10. */ public String toString() { return String.valueOf((int)value); } /** * Returns a hash code for this <code>Byte</code>. */ public int hashCode() { return (int)value; } /** * Compares this object to the specified object. The result is * <code>true</code> if and only if the argument is not * <code>null</code> and is a <code>Byte</code> object that * contains the same <code>byte</code> value as this object. * * @param obj the object to compare with * @return <code>true</code> if the objects are the same; * <code>false</code> otherwise. */ public boolean equals(Object obj) { if (obj instanceof Byte) { return value == ((Byte)obj).byteValue(); } return false; } /** * Compares two <code>Byte</code> objects numerically. * * @param anotherByte the <code>Byte</code> to be compared. * @return the value <code>0</code> if this <code>Byte</code> is * equal to the argument <code>Byte</code>; a value less than * <code>0</code> if this <code>Byte</code> is numerically less * than the argument <code>Byte</code>; and a value greater than * <code>0</code> if this <code>Byte</code> is numerically * greater than the argument <code>Byte</code> (signed * comparison). * @since 1.2 */ public int compareTo(Byte anotherByte) { return this.value - anotherByte.value; } /** * Compares this <code>Byte</code> object to another object. If the * object is a <code>Byte</code>, this function behaves like * <code>compareTo(Byte)</code>. Otherwise, it throws a * <code>ClassCastException</code> (as <code>Byte</code> objects * are only comparable to other <code>Byte</code> objects). * * @param o the <code>Object</code> to be compared. * @return the value <code>0</code> if the argument is a <code>Byte</code> * numerically equal to this <code>Byte</code>; a value less than * <code>0</code> if the argument is a <code>Byte</code> * numerically greater than this <code>Byte</code>; and a * value greater than <code>0</code> if the argument is a * <code>Byte</code> numerically less than this * <code>Byte</code>. * @exception <code>ClassCastException</code> if the argument is not a * <code><code>Byte</code></code>. * @see java.lang.Comparable * @since 1.2 */ public int compareTo(Object o) { return compareTo((Byte)o); } /** use serialVersionUID from JDK 1.1. for interoperability */ private static final long serialVersionUID = -7183698231559129828L;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -