📄 byte.java
字号:
/* * @(#)Byte.java 1.27 06/10/10 * * Copyright 1990-2008 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License version * 2 only, as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License version 2 for more details (a copy is * included at /legal/license.txt). * * You should have received a copy of the GNU General Public License * version 2 along with this work; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA * * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa * Clara, CA 95054 or visit www.sun.com if you need additional * information or have any questions. * */package java.lang;/** * * The <code>Byte</code> class wraps a value of primitive type * <code>byte</code> in an object. An object of type * <code>Byte</code> contains a single field whose type is * <code>byte</code>. * * <p> * * In addition, this class provides several methods for converting a * <code>byte</code> to a <code>String</code> and a <code>String</code> * to a <code>byte</code>, as well as other constants and methods * useful when dealing with a <code>byte</code>. * * @author Nakul Saraiya * @version 1.20, 02/02/00 * @see java.lang.Number * @since JDK1.1 */public final class Byte extends Number implements Comparable { /** * A constant holding the minimum value a <code>byte</code> can * have, -2<sup>7</sup>. */ public static final byte MIN_VALUE = -128; /** * A constant holding the maximum value a <code>byte</code> can * have, 2<sup>7</sup>-1. */ public static final byte MAX_VALUE = 127; /** * The <code>Class</code> instance representing the primitive type * <code>byte</code>. */ public static final Class TYPE = Class.getPrimitiveClass("byte"); /** * Returns a new <code>String</code> object representing the * specified <code>byte</code>. The radix is assumed to be 10. * * @param b the <code>byte</code> to be converted * @return the string representation of the specified <code>byte</code> * @see java.lang.Integer#toString(int) */ public static String toString(byte b) { return Integer.toString((int)b, 10); } /** * Parses the string argument as a signed decimal * <code>byte</code>. The characters in the string must all be * decimal digits, except that the first character may be an ASCII * minus sign <code>'-'</code> (<code>'\u002D'</code>) to * indicate a negative value. The resulting <code>byte</code> value is * returned, exactly as if the argument and the radix 10 were * given as arguments to the {@link #parseByte(java.lang.String, * int)} method. * * @param s a <code>String</code> containing the * <code>byte</code> representation to be parsed * @return the <code>byte</code> value represented by the * argument in decimal * @exception NumberFormatException if the the string does not * contain a parsable <code>byte</code>. */ public static byte parseByte(String s) throws NumberFormatException { return parseByte(s, 10); } /** * Parses the string argument as a signed <code>byte</code> in the * radix specified by the second argument. The characters in the * string must all be digits, of the specified radix (as * determined by whether {@link java.lang.Character#digit(char, * int)} returns a nonnegative value) except that the first * character may be an ASCII minus sign <code>'-'</code> * (<code>'\u002D'</code>) to indicate a negative value. The * resulting <code>byte</code> value is returned. * <p> * An exception of type <code>NumberFormatException</code> is * thrown if any of the following situations occurs: * <ul> * <li> The first argument is <code>null</code> or is a string of * length zero. * * <li> The radix is either smaller than {@link * java.lang.Character#MIN_RADIX} or larger than {@link * java.lang.Character#MAX_RADIX}. * * <li> Any character of the string is not a digit of the specified * radix, except that the first character may be a minus sign * <code>'-'</code> (<code>'\u002D'</code>) provided that the * string is longer than length 1. * * <li> The value represented by the string is not a value of type * <code>byte</code>. * </ul> * * @param s the <code>String</code> containing the * <code>byte</code> * representation to be parsed * @param radix the radix to be used while parsing <code>s</code> * @return the <code>byte</code> value represented by the string * argument in the specified radix * @exception NumberFormatException If the string does * not contain a parsable <code>byte</code>. */ 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; } /** * Returns a <code>Byte</code> object holding the value * extracted from the specified <code>String</code> when parsed * with the radix given by the second argument. The first argument * is interpreted as representing a signed <code>byte</code> in * the radix specified by the second argument, exactly as if the * argument were given to the {@link #parseByte(java.lang.String, * int)} method. The result is a <code>Byte</code> object that * represents the <code>byte</code> value specified by the string. * <p> In other words, this method returns a <code>Byte</code> object * equal to the value of: * * <blockquote><code> * new Byte(Byte.parseByte(s, radix)) * </code></blockquote> * * @param s the string to be parsed * @param radix the radix to be used in interpreting <code>s</code> * @return a <code>Byte</code> object holding the value * represented by the string argument in the * specified radix. * @exception NumberFormatException If the <code>String</code> does * not contain a parsable <code>byte</code>. */ public static Byte valueOf(String s, int radix) throws NumberFormatException { return new Byte(parseByte(s, radix)); } /** * Returns a <code>Byte</code> object holding the value * given by the specified <code>String</code>. The argument is * interpreted as representing a signed decimal <code>byte</code>, * exactly as if the argument were given to the {@link * #parseByte(java.lang.String)} method. The result is a * <code>Byte</code> object that represents the <code>byte</code> * value specified by the string. <p> In other words, this method * returns a <code>Byte</code> object equal to the value of: * * <blockquote><code> * new Byte(Byte.parseByte(s)) * </code></blockquote> * * @param s the string to be parsed * @return a <code>Byte</code> object holding the value * represented by the string argument * @exception NumberFormatException If the <code>String</code> does * not contain a parsable <code>byte</code>. */ public static Byte valueOf(String s) throws NumberFormatException { return valueOf(s, 10); } /** * Decodes a <code>String</code> into a <code>Byte</code>. * Accepts decimal, hexadecimal, and octal numbers given by * the following grammar: * * <blockquote> * <dl> * <dt><i>DecodableString:</i> * <dd><i>Sign<sub>opt</sub> DecimalNumeral</i> * <dd><i>Sign<sub>opt</sub></i> <code>0x</code> <i>HexDigits</i> * <dd><i>Sign<sub>opt</sub></i> <code>0X</code> <i>HexDigits</i> * <dd><i>Sign<sub>opt</sub></i> <code>#</code> <i>HexDigits</i> * <dd><i>Sign<sub>opt</sub></i> <code>0</code> <i>OctalDigits</i> * <p> * <dt><i>Sign:</i> * <dd><code>-</code> * </dl> * </blockquote> * * <i>DecimalNumeral</i>, <i>HexDigits</i>, and <i>OctalDigits</i> * are defined in <a href="http://java.sun.com/docs/books/jls/second_edition/html/lexical.doc.html#48282">§3.10.1</a> * of the <a href="http://java.sun.com/docs/books/jls/html/">Java * Language Specification</a>. * <p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -