📄 character.java
字号:
// This file was generated AUTOMATICALLY from a template file Fri Jun 19 11:07:53 PDT 1998
/*
* @(#)Character.java 1.44 98/07/10
*
* Copyright 1995-1998 by Sun Microsystems, Inc.,
* 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
* All rights reserved.
*
* This software is the confidential and proprietary information
* of Sun Microsystems, Inc. ("Confidential Information"). You
* shall not disclose such Confidential Information and shall use
* it only in accordance with the terms of the license agreement
* you entered into with Sun.
*/
package java.lang;
/**
* The Character class wraps a value of the primitive type <code>char</code>
* in an object. An object of type <code>Character</code> contains a
* single field whose type is <code>char</code>.
* <p>
* In addition, this class provides several methods for determining
* the type of a character and converting characters from uppercase
* to lowercase and vice versa.
* <p>
* Many of the methods of class <code>Character</code> are defined
* in terms of a "Unicode attribute table" that specifies
* a name for every defined Unicode code point. The table also
* includes other attributes, such as a decimal value, an uppercase
* equivalent, a lowercase equivalent, and/or a titlecase equivalent.
* The Unicode attribute table is available on the World Wide Web as
* the file:
* <ul><code>
* ftp://unicode.org/pub/MappingTables/UnicodeData1.1.5.txt
* </code></ul>
* <p>
* For a more detailed specification of the <code>Character</code>
* class, one that encompasses the exact behavior of methods such as
* <code>isDigit</code>, <code>isLetter</code>,
* <code>isLowerCase</code>, and <code>isUpperCase</code> over the
* full range of Unicode values, see Gosling, Joy, and Steele, <i>The
* Java Language Specification</i>.
*
* @author Lee Boynton
* @author Guy Steele
* @author Akira Tanaka
* @version 1.44 07/10/98
* @since JDK1.0
*/
public final
class Character extends Object implements java.io.Serializable {
/**
* The minimum radix available for conversion to and from Strings.
* The constant value of this field is the smallest value permitted
* for the radix argument in radix-conversion methods such as the
* <code>digit</code> method, the <code>forDigit</code>
* method, and the <code>toString</code> method of class
* <code>Integer</code>.
*
* @see java.lang.Character#digit(char, int)
* @see java.lang.Character#forDigit(int, int)
* @see java.lang.Integer#toString(int, int)
* @see java.lang.Integer#valueOf(java.lang.String)
* @since JDK1.0
*/
public static final int MIN_RADIX = 2;
/**
* The maximum radix available for conversion to and from Strings.
* The constant value of this field is the largest value permitted
* for the radix argument in radix-conversion methods such as the
* <code>digit</code> method, the <code>forDigit</code>
* method, and the <code>toString</code> method of class
* <code>Integer</code>.
*
* @see java.lang.Character#digit(char, int)
* @see java.lang.Character#forDigit(int, int)
* @see java.lang.Integer#toString(int, int)
* @see java.lang.Integer#valueOf(java.lang.String)
* @since JDK1.0
*/
public static final int MAX_RADIX = 36;
/**
* The constant value of this field is the smallest value of type
* <code>char</code>.
*
* @since JDK1.0.2
*/
public static final char MIN_VALUE = '\u0000';
/**
* The constant value of this field is the largest value of type
* <code>char</code>.
*
* @since JDK1.0.2
*/
public static final char MAX_VALUE = '\uffff';
/**
* The Class object representing the primitive type char.
*
* @since JDK1.1
*/
public static final Class TYPE = Class.getPrimitiveClass("char");
/*
* Public data for enumerated Unicode general category types
*
* @since JDK1.1
*/
public static final byte
UNASSIGNED = 0,
UPPERCASE_LETTER = 1,
LOWERCASE_LETTER = 2,
TITLECASE_LETTER = 3,
MODIFIER_LETTER = 4,
OTHER_LETTER = 5,
NON_SPACING_MARK = 6,
ENCLOSING_MARK = 7,
COMBINING_SPACING_MARK = 8,
DECIMAL_DIGIT_NUMBER = 9,
LETTER_NUMBER = 10,
OTHER_NUMBER = 11,
SPACE_SEPARATOR = 12,
LINE_SEPARATOR = 13,
PARAGRAPH_SEPARATOR = 14,
CONTROL = 15,
FORMAT = 16,
PRIVATE_USE = 18,
SURROGATE = 19,
DASH_PUNCTUATION = 20,
START_PUNCTUATION = 21,
END_PUNCTUATION = 22,
CONNECTOR_PUNCTUATION = 23,
OTHER_PUNCTUATION = 24,
MATH_SYMBOL = 25,
CURRENCY_SYMBOL = 26,
MODIFIER_SYMBOL = 27,
OTHER_SYMBOL = 28;
/**
* The value of the Character.
*/
private char value;
/** use serialVersionUID from JDK 1.0.2 for interoperability */
private static final long serialVersionUID = 3786198910865385080L;
/**
* Constructs a <code>Character</code> object and initializes it so
* that it represents the primitive <code>value</code> argument.
*
* @param value value for the new <code>Character</code> object.
* @since JDK1.0
*/
public Character(char value) {
this.value = value;
}
/**
* Returns the value of this Character object.
* @return the primitive <code>char</code> value represented by
* this object.
* @since JDK1.0
*/
public char charValue() {
return value;
}
/**
* Returns a hash code for this Character.
* @return a hash code value for this object.
* @since JDK1.0
*/
public int hashCode() {
return (int)value;
}
/**
* Compares this object against the specified object.
* The result is <code>true</code> if and only if the argument is not
* <code>null</code> and is a <code>Character</code> object that
* represents the same <code>char</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.
* @since JDK1.0
*/
public boolean equals(Object obj) {
if ((obj != null) && (obj instanceof Character)) {
return value == ((Character)obj).charValue();
}
return false;
}
/**
* Returns a String object representing this character's value.
* Converts this <code>Character</code> object to a string. The
* result is a string whose length is <code>1</code>. The string's
* sole component is the primitive <code>char</code> value represented
* by this object.
*
* @return a string representation of this object.
* @since JDK1.0
*/
public String toString() {
char buf[] = {value};
return String.valueOf(buf);
}
/**
* Determines if the specified character is a lowercase character.
* A character is lowercase if it is not in the range
* <code>'\u2000'</code> through <code>'\u2FFF'</code>, the Unicode
* attribute table does not specify a mapping to lowercase for the
* character, and at least one of the following is true:
* <ul>
* <li>The attribute table specifies a mapping to uppercase for the
* character.
* <li>The name for the character contains the words "<code>SMALL
* LETTER</code>".
* <li>The name for the character contains the words "<code>SMALL
* LIGATURE</code>".
* </ul>
* <p> A character is considered to be lowercase if and only if
* it is specified to be lowercase by the Unicode 2.0 standard
* (category "Ll" in the Unicode specification data file).
* <p>
* Of the ISO-LATIN-1 characters (character codes 0x0000 through 0x00FF),
* the following are lowercase:
* <p><blockquote><pre>
* a b c d e f g h i j k l m n o p q r s t u v w x y z
* \u00DF \u00E0 \u00E1 \u00E2 \u00E3 \u00E4 \u00E5 \u00E6 \u00E7
* \u00E8 \u00E9 \u00EA \u00EB \u00EC \u00ED \u00EE \u00EF \u00F0
* \u00F1 \u00F2 \u00F3 \u00F4 \u00F5 \u00F6 \u00F8 \u00F9 \u00FA
* \u00FB \u00FC \u00FD \u00FE \u00FF
* </pre></blockquote>
* <p> Many other Unicode characters are lowercase, too.
*
* @param ch the character to be tested.
* @return <code>true</code> if the character is lowercase;
* <code>false</code> otherwise.
* @see java.lang.Character#isLowerCase(char)
* @see java.lang.Character#isTitleCase(char)
* @see java.lang.Character#toLowerCase(char)
* @since JDK1.0
*/
public static boolean isLowerCase(char ch) {
return (A[Y[(X[ch>>6]<<5)|((ch>>1)&0x1F)]|(ch&0x1)] & 0x1F) == LOWERCASE_LETTER;
}
/**
* Determines if the specified character is an uppercase character.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -