为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

JDK帮助文档

2017-09-30 21页 doc 52KB 112阅读

用户头像

is_574951

暂无简介

举报
JDK帮助文档JDK帮助文档 java.lang 类 String java.lang.Object java.lang.String 所有已实现的接口: Serializable, CharSequence, Comparable -------------------------------------------------------------------------------- public final class Stringextends Objectimplements Serializable, Com...
JDK帮助文档
JDK帮助文档 java.lang 类 String java.lang.Object java.lang.String 所有已实现的接口: Serializable, CharSequence, Comparable -------------------------------------------------------------------------------- public final class Stringextends Objectimplements Serializable, Comparable, CharSequenceString 类代字符串。Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例来实现。 字符串是常量;它们的值在创建之后不能改变。字符串缓冲区支持可变的字符串。因为 String 对象是不可变的,所以可以共享它们。例如: String str = "abc"; 等效于: char data[] = {'a', 'b', 'c'}; String str = new String(data); 下面给出了一些如何使用字符串的更多例子: System.out.println("abc"); String cde = "cde"; System.out.println("abc" + cde); String c = "abc".substring(2,3); String d = cde.substring(1, 2); String 类包括的方法有:检查序列的单个字符;比较字符串;搜索字符串;提取子字符串;创建字符串副本,在该副本中,所有的字符都被转换为大写或小写形式。大小写映射基于 Character 类指定的 Unicode Standard 版本。 Java 语言提供对字符串串联符号("+")和其他对象到字符串的转换的特殊支持。字符串串联是通过 StringBuilder(或 StringBuffer)类及其 append 方法实现的。字符串转换是通过 toString 方法实现的,该方法由 Object 类定义,并可被 Java 中所有类继承。有关字符串串联和转换的更多信息,请参阅 Gosling、Joy 和 Steele 合著的《The Java Language Specification》。 除非另行说明,否则将 null 参数传递给此类中的构造方法或方法都会抛出 NullPointerException。 String 表示一个 UTF-16 格式的字符串,其中的增补字符 由代理项对 表示(有关详细信息,请参阅 Character 类中的 Unicode 字符表示形式)。索引值是指 char 代码单元,因此增补字符在 String 中占用两个位置。 String 类提供处理 Unicode 代码点(即字符)和 Unicode 代码单元(即 char 值)的方法。 从以下版本开始: JDK1.0 另请参见: Object.toString(), StringBuffer, StringBuilder, Charset, 序列化表格 -------------------------------------------------------------------------------- 字段摘要 static Comparator CASE_INSENSITIVE_ORDER 一个排序 String 对象的 Comparator,它的作用与 compareToIgnoreCase 相同。 构造方法摘要 String() 初始化一个新创建的 String 对象,它表示一个空字符序列。 String(byte[] bytes) 构造一个新的 String,方法是使用平台的默认字符集解码字节的指定数组。 String(byte[] ascii, int hibyte) 已过时。 该方法无法将字节正确转换为字符。从 JDK 1.1 起,完成该转换的首选方法是通过 String 构造方法,该方法接受一个字符集名称或使用平台的默认字符集。 String(byte[] bytes, int offset, int length) 构造一个新的 String,方法是使用指定的字符集解码字节的指定子数组。 String(byte[] ascii, int hibyte, int offset, int count) 已过时。 该方法无法将字节正确转换为字符。从 JDK 1.1 开始,完成该转换的首选方法是通过 String 构造方法,它接受一个字符集名称,或者使用平台默认的字符集。 String(byte[] bytes, int offset, int length, String charsetName) 构造一个新的 String,方法是使用指定的字符集解码字节的指定子数组。 String(byte[] bytes, String charsetName) 构造一个新的 String,方法是使用指定的字符集解码指定的字节数组。 String(char[] value) 分配一个新的 String,它表示当前字符数组参数中包含的字符序列。 String(char[] value, int offset, int count) 分配一个新的 String,它包含来自该字符数组参数的一个子数组的字符。 String(int[] codePoints, int offset, int count) 分配一个新的 String,它包含该 Unicode 代码点数组参数的一个子数组的字符。 String(String original) 初始化一个新创建的 String 对象,表示一个与该参数相同的字符序列;换句话 说,新创建的字符串是该参数字符串的一个副本。 String(StringBuffer buffer) 分配一个新的字符串,它包含当前包含在字符串缓冲区参数中的字符序列。 String(StringBuilder builder) 分配一个新的字符串,它包含当前包含在字符串生成器参数中的字符序列。 方法摘要 char charAt(int index) 返回指定索引处的 char 值。 int codePointAt(int index) 返回指定索引处的字符(Unicode 代码点)。 int codePointBefore(int index) 返回指定索引之前的字符(Unicode 代码点)。 int codePointCount(int beginIndex, int endIndex) 返回此 String 的指定文本范围中的 Unicode 代码点数。 int compareTo(String anotherString) 按字典顺序比较两个字符串。 int compareToIgnoreCase(String str) 不考虑大小写,按字典顺序比较两个字符串。 String concat(String str) 将指定字符串联到此字符串的结尾。 boolean contains(CharSequence s) 当且仅当此字符串包含 char 值的指定序列时,才返回 true。 boolean contentEquals(CharSequence cs) 当且仅当此 String 表示与指定序列相同的 char 值时,才返回 true。 boolean contentEquals(StringBuffer sb) 当且仅当此 String 表示与指定的 StringBuffer 相同的字符序列时,才返回 true。 static String copyValueOf(char[] data) 返回指定数组中表示该字符序列的字符串。 static String copyValueOf(char[] data, int offset, int count) 返回指定数组中表示该字符序列的字符串。 boolean endsWith(String suffix) 测试此字符串是否以指定的后缀结束。 boolean equals(Object anObject) 比较此字符串与指定的对象。 boolean equalsIgnoreCase(String anotherString) 将此 String 与另一个 String 进行比较,不考虑大小写。 static String format(Locale l, String format, Object... args) 使用指定的语言环境、格式字符串和参数返回一个格式化字符串。 static String format(String format, Object... args) 使用指定的格式字符串和参数返回一个格式化字符串。 byte[] getBytes() 使用平台默认的字符集将此 String 解码为字节序列,并将结果存储到一个新的字节数组中。 void getBytes(int srcBegin, int srcEnd, byte[] dst, int dstBegin) 已过时。 该方法无法将字符正确转换为字节。从 JDK 1.1 起,完成该转换的首选方法是通过 getBytes() 构造方法,该方法使用平台的默认字符集。 byte[] getBytes(String charsetName) 使用指定的字符集将此 String 解码为字节序列,并将结果存储到一个新的字节数组中。 void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) 将字符从此字符串复制到目标字符数组。 int hashCode() 返回此字符串的哈希码。 int indexOf(int ch) 返回指定字符在此字符串中第一次出现处的索引。 int indexOf(int ch, int fromIndex) 从指定的索引开始搜索,返回在此字符串中第一次出现指定字符处的索引。 int indexOf(String str) 返回第一次出现的指定子字符串在此字符串中的索引。 int indexOf(String str, int fromIndex) 从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引。 String intern() 返回字符串对象的化表示形式。 int lastIndexOf(int ch) 返回最后一次出现的指定字符在此字符串中的索引。 int lastIndexOf(int ch, int fromIndex) 从指定的索引处开始进行后向搜索,返回最后一次出现的指定字符在此字符串中的索引。 int lastIndexOf(String str) 返回在此字符串中最右边出现的指定子字符串的索引。 int lastIndexOf(String str, int fromIndex) 从指定的索引处开始向后搜索,返回在此字符串中最后一次出现的指定子字符串的索引。 int length() 返回此字符串的长度。 boolean matches(String regex) 通知此字符串是否匹配给定的 int offsetByCodePoints(int index, int codePointOffset) 返回此 String 中从给定的 index 处偏移 codePointOffset 个代码点的索引。 boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) 测试两个字符串区域是否相等。 boolean regionMatches(int toffset, String other, int ooffset, int len) 测试两个字符串区域是否相等。 String replace(char oldChar, char newChar) 返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 而生成的。 String replace(CharSequence target, CharSequence replacement) 使用指定的字面值替换序列替换此字符串匹配字面值目标序列的每个子字符串。 String replaceAll(String regex, String replacement) 使用给定的 replacement 字符串替换此字符串匹配给定的 String replaceFirst(String regex, String replacement) 使用给定的 replacement 字符串替换此字符串匹配给定的 String[] split(String regex) 根据给定的正则表达式的匹配来拆分此字符串。 String[] split(String regex, int limit) 根据匹配给定的 boolean startsWith(String prefix) 测试此字符串是否以指定的前缀开始。 boolean startsWith(String prefix, int toffset) 测试此字符串是否以指定前缀开始,该前缀以指定索引开始。 CharSequence subSequence(int beginIndex, int endIndex) 返回一个新的字符序列,它是此序列的一个子序列。 String substring(int beginIndex) 返回一个新的字符串,它是此字符串的一个子字符串。 String substring(int beginIndex, int endIndex) 返回一个新字符串,它是此字符串的一个子字符串。 char[] toCharArray() 将此字符串转换为一个新的字符数组。 String toLowerCase() 使用默认语言环境的规则将此 String 中的所有字符都转换为小写。 String toLowerCase(Locale locale) 使用给定 Locale 的规则将此 String 中的所有字符都转换为小写。 String toString() 返回此对象本身(它已经是一个字符串~)。 String toUpperCase() 使用默认语言环境的规则将此 String 中的所有字符都转换为大写。 String toUpperCase(Locale locale) 使用给定的 Locale 规则将此 String 中的所有字符都转换为大写。 String trim() 返回字符串的副本,忽略前导空白和尾部空白。 static String valueOf(boolean b) 返回 boolean 参数的字符串表示形式。 static String valueOf(char c) 返回 char 参数的字符串表示形式。 static String valueOf(char[] data) 返回 char 数组参数的字符串表示形式。 static String valueOf(char[] data, int offset, int count) 返回 char 数组参数的特定子数组的字符串表示形式。 static String valueOf(double d) 返回 double 参数的字符串表示形式。 static String valueOf(float f) 返回 float 参数的字符串表示形式。 static String valueOf(int i) 返回 int 参数的字符串表示形式。 static String valueOf(long l) 返回 long 参数的字符串表示形式。 static String valueOf(Object obj) 返回 Object 参数的字符串表示形式。 从类 java.lang.Object 继承的方法 clone, finalize, getClass, notify, notifyAll, wait, wait, wait ****************************** java.util 类 Scanner java.lang.Object java.util.Scanner 所有已实现的接口: Iterator -------------------------------------------------------------------------------- public final class Scannerextends Objectimplements Iterator一个可以使用正则表达式来基本类型和字符串的简单文本扫描器。 Scanner 使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配。然后可以使用不同的 next 方法将得到的标记转换为不同类型的值。 例如,以下代码使用户能够从 System.in 中读取一个数: Scanner sc = new Scanner(System.in); int i = sc.nextInt(); 再看一个例子,以下代码使 long 类型可以通过 myNumbers 文件中的项分配: Scanner sc = new Scanner(new File("myNumbers")); while (sc.hasNextLong()) { long aLong = sc.nextLong(); }扫描器还可以使用不同于空白的分隔符。下面是从一个字符串读取若干项的例子: String input = "1 fish 2 fish red fish blue fish"; Scanner s = new Scanner(input).useDelimiter("\\s*fish\\s*"); System.out.println(s.nextInt()); System.out.println(s.nextInt()); System.out.println(s.next()); System.out.println(s.next()); s.close(); 输出为: 1 2 red blue 以下代码使用正则表达式同时分析所有的 4 个标记,并可以产生与上例相同的输出结果: String input = "1 fish 2 fish red fish blue fish"; Scanner s = new Scanner(input); s.findInLine("(\\d+) fish (\\d+) fish (\\w+) fish (\\w+)"); MatchResult result = s.match(); for (int i=1; i<=result.groupCount(); i++) System.out.println(result.group(i); s.close(); 扫描器所使用的默认空白分隔符通过 Character.isWhitespace 来识别。 扫描操作可能被阻塞,而等待信息的输入。 next() 和 hasNext() 方法及其基本类型 companion 方法(如 nextInt() 和 hasNextInt())首先跳过与分隔符模式匹配的输入,然后尝试返回下一个标记。在等待更多输入时 hasNext 和 next 方法都可能阻塞。hasNext 方法是否阻塞与其相关的 next 方法是否阻塞无关。 findInLine(java.lang.String)、findWithinHorizon(java.lang.String, int) 和 skip(java.util.regex.Pattern) 方法的执行与分隔符模式无关。这些方法会尝试匹配与输入中的分隔符无关的指定模式,因此可用于分隔符无关的特殊环境中。在等待更多输入时这些方法可能阻塞。 当某一扫描器抛出 InputMismatchException 时,该扫描器不会传递导致该异常的标记,因此可以通过其他某种方法来检索或跳过它。 对于某些类型的分隔模式,可能返回空标记。例如,"\\s+" 模式不会返回空标记,因为它与该分隔符的多个实例匹配。而分隔模式 "\\s" 可能返回空标记,因为它一次只传递一个空格。 扫描器可以从实现 Readable 接口的任何对象读取文本。如果对基础 readable 的 Readable.read(java.nio.CharBuffer) 方法的调用抛出 IOException,则扫描器认为已经到达了输入的结尾。基础 readable 最新抛出的 IOException 可以通过 ioException() 方法检索。 如果 Scanner 关闭,且其输入源实现 Closeable 接口,则该输入源也将关闭。 若没有外部同步,则 Scanner 的多线程使用是不安全的。 除非另行说明,否则将一个 null 参数传递到 Scanner 的任何一个方法中都将抛出 NullPointerException。 默认情况下扫描器会将数字解释为十进制形式,除非已经使用 useRadix(int) 方法设置了不 同的基数。 本地化数字 此类的一个实例能够以格式以及扫描器语言环境的格式扫描数字。扫描器的初始语言环 境是 Locale.getDefault() 方法返回的值;它可以通过 useLocale(java.util.Locale) 方 法更改。 本地化格式是根据以下参数定义的,对于某一特定语言环境来说,这些参数取自该语言环境 的 DecimalFormat 对象 df,及其 DecimalFormatSymbols 对象 dfs。 LocalGroupSeparator 用于分隔数千个组的字符,即 dfs.getGroupingSeparator() LocalDecimalSeparator 用于小数点的字符,即 dfs.getDecimalSeparator() LocalPositivePrefix 出现在正数前的字符串(可以为空),即 df.getPositivePrefix() LocalPositiveSuffix 出现在正数后的字符串(可以为空),即 df.getPositiveSuffix() LocalNegativePrefix 出现在负数前的字符串(可以为空),即 df.getNegativePrefix() LocalNegativeSuffix 出现在负数后的字符串(可以为空),即 df.getNegativeSuffix() LocalNaN 表示浮点值的非数字的字符串,即 dfs.getInfinity() LocalInfinity 表示浮点值的无穷大的字符串,即 dfs.getInfinity() 数字语法 可通过此类的一个实例分析为数字的字符串是根据以下正则表达式语法指定的,在这种情况 下 Rmax 是正在使用的基数中的最高数字(例如,在基数 10 中 Rmax 为 9)。 NonASCIIDigit :: = 非 ASCII 字符 c,对于它,Character.isDigit(c) 返回 true Non0Digit :: = [1-Rmax] | NonASCIIDigit Digit :: = [0-Rmax] | NonASCIIDigit GroupedNumeral :: = ( Non0Digit Digit? Digit? ( LocalGroupSeparator Digit Digit Digit )+ ) Numeral :: = ( ( Digit+ ) | GroupedNumeral ) Integer :: = ( [-+]? ( Numeral ) ) | LocalPositivePrefix Numeral LocalPositiveSuffix | LocalNegativePrefix Numeral LocalNegativeSuffix DecimalNumeral :: = Numeral | Numeral LocalDecimalSeparator Digit* | LocalDecimalSeparator Digit+ Exponent :: = ( [eE] [+-]? Digit+ ) Decimal :: = ( [-+]? DecimalNumeral Exponent? ) | LocalPositivePrefix DecimalNumeral LocalPositiveSuffix Exponent? | LocalNegativePrefix DecimalNumeral LocalNegativeSuffix Exponent? HexFloat :: = [-+]? 0[xX][0-9a-fA-F]*\.[0-9a-fA-F]+ ([pP][-+]?[0-9]+)? NonNumber :: = NaN | LocalNan | Infinity | LocalInfinity SignedNonNumber :: = ( [-+]? NonNumber ) | LocalPositivePrefix NonNumber LocalPositiveSuffix | LocalNegativePrefix NonNumber LocalNegativeSuffix Float :: = Decimal | HexFloat | SignedNonNumber 上面正则表达式中的空白没有意义。 从以下版本开始: 1.5 -------------------------------------------------------------------------------- 构造方法摘要 Scanner(File source) 构造一个新的 Scanner,它生成的值是从指定文件扫描的。 Scanner(File source, String charsetName) 构造一个新的 Scanner,它生成的值是从指定文件扫描的。 Scanner(InputStream source) 构造一个新的 Scanner,它生成的值是从指定的输入流扫描的。 Scanner(InputStream source, String charsetName) 构造一个新的 Scanner,它生成的值是从指定的输入流扫描的。 Scanner(Readable source) 构造一个新的 Scanner,它生成的值是从指定源扫描的。 Scanner(java.nio.channels.ReadableByteChannel source) 构造一个新的 Scanner,它生成的值是从指定信道扫描的。 Scanner(java.nio.channels.ReadableByteChannel source, String charsetName) 构造一个新的 Scanner,它生成的值是从指定信道扫描的。 Scanner(String source) 构造一个新的 Scanner,它生成的值是从指定字符串扫描的。 方法摘要 void close() 关闭此扫描器。 Pattern delimiter() 返回此 Scanner 当前正在用于匹配分隔符的 Pattern。 String findInLine(Pattern pattern) 试图在忽略分隔符的情况下查找下一个指定模式。 String findInLine(String pattern) 试图在忽略分隔符的情况下查找下一个从指定字符串构造的模式。 String findWithinHorizon(Pattern pattern, int horizon) 试图查找下一个指定模式。 String findWithinHorizon(String pattern, int horizon) 试图在忽略分隔符的情况下查找下一个从指定字符串构造的模式。 boolean hasNext() 如果此扫描器的输入中有另一个标记,则返回 true。 boolean hasNext(Pattern pattern) 如果下一个完整标记与指定模式匹配,则返回 true。 boolean hasNext(String pattern) 如果下一个标记与从指定字符串构造的模式匹配,则返回 true。 boolean hasNextBigDecimal() 如果通过使用 nextBigDecimal() 方法,此扫描器输入信息中的下一个标记可以解释为默认基数中的一个 BigDecimal,则返回 true。 boolean hasNextBigInteger() 如果通过使用 nextBigInteger() 方法,此扫描器输入信息中的下一个标记可以解释为默认基数中的一个 BigInteger 值,则返回 true。 boolean hasNextBigInteger(int radix) 如果通过使用 nextBigInteger() 方法,此扫描器输入信息中的下一个标记可以解释为指定基数中的一个 BigInteger 值,则返回 true。 boolean hasNextBoolean() 如果通过使用一个从字符串 "true|false" 创建的大小写敏感的模式,此扫描器输入信息中的下一个标记可以解释为一个布尔值,则返回 true。 boolean hasNextByte() 如果通过使用 nextByte() 方法,此扫描器输入信息中的下一个标记可以解释为默认基数中的一个字节值,则返回 true。 boolean hasNextByte(int radix) 如果通过使用 nextByte() 方法,此扫描器输入信息中的下一个标记可以解释为指定基数中的一个字节值,则返回 true。 boolean hasNextDouble() 如果通过使用 nextDouble() 方法,此扫描器输入信息中的下一个标记可以解释为默认基数中的一个 double 值,则返回 true。 boolean hasNextFloat() 如果通过使用 nextFloat() 方法,此扫描器输入信息中的下一个标记可以解释为默认基数中的一个 float 值,则返回 true。 boolean hasNextInt() 如果通过使用 nextInt() 方法,此扫描器输入信息中的下一个标记可以解释为默认基数中的一个 int 值,则返回 true。 boolean hasNextInt(int radix) 如果通过使用 nextInt() 方法,此扫描器输入信息中的下一个标记可以解释为指定基数中的一个 int 值,则返回 true。 boolean hasNextLine() 如果在此扫描器的输入中存在另一行,则返回 true。 boolean hasNextLong() 如果通过使用 nextLong() 方法,此扫描器输入信息中的下一个标记可以解释为默认基数中的一个 long 值,则返回 true。 boolean hasNextLong(int radix) 如果通过使用 nextLong() 方法,此扫描器输入信息中的下一个标记可以解释为指定基数中的一个 long 值,则返回 true。 boolean hasNextShort() 如果通过使用 nextShort() 方法,此扫描器输入信息中的下一个标记可以解释为默认基数中的一个 short 值,则返回 true。 boolean hasNextShort(int radix) 如果通过使用 nextShort() 方法,此扫描器输入信息中的下一个标记可以解释为指定基数中的一个 short 值,则返回 true。 IOException ioException() 返回此 Scanner 的基础 Readable 最后抛出的 IOException。 Locale locale() 返回此扫描器的语言环境。 MatchResult match() 返回此扫描器所执行的最后扫描操作的匹配结果。 String next() 查找并返回来自此扫描器的下一个完整标记。 String next(Pattern pattern) 如果下一个标记与指定模式匹配,则返回下一个标记。 String next(String pattern) 如果下一个标记与从指定字符串构造的模式匹配,则返回下一个标记。 java.math.BigDecimal nextBigDecimal() 将输入信息的下一个标记扫描为一个 BigDecimal。 java.math.BigInteger nextBigInteger() 将输入信息的下一个标记扫描为一个 BigInteger。 java.math.BigInteger nextBigInteger(int radix) 将输入信息的下一个标记扫描为一个 BigInteger。 boolean nextBoolean() 扫描解释为一个布尔值的输入标记并返回该值。 byte nextByte() 将输入信息的下一个标记扫描为一个 byte。 byte nextByte(int radix) 将输入信息的下一个标记扫描为一个 byte。 double nextDouble() 将输入信息的下一个标记扫描为一个 double。 float nextFloat() 将输入信息的下一个标记扫描为一个 float。 int nextInt() 将输入信息的下一个标记扫描为一个 int。 int nextInt(int radix) 将输入信息的下一个标记扫描为一个 int。 String nextLine() 此扫描器执行当前行,并返回跳过的输入信息。 long nextLong() 将输入信息的下一个标记扫描为一个 long。 long nextLong(int radix) 将输入信息的下一个标记扫描为一个 long。 short nextShort() 将输入信息的下一个标记扫描为一个 short。 short nextShort(int radix) 将输入信息的下一个标记扫描为一个 short。 int radix() 返回此扫描器的默认基数。 void remove() Iterator 的这种实现不支持移除操作。 Scanner skip(Pattern pattern) 在忽略分隔符的情况下跳过与指定模式匹配的输入信息。 Scanner skip(String pattern) 跳过与从指定字符串构造的模式匹配的输入信息。 String toString() 返回此 Scanner 的字符串表示形式。 Scanner useDelimiter(Pattern pattern) 将此扫描器的分隔模式设置为指定模式。 Scanner useDelimiter(String pattern) 将此扫描器的分隔模式设置为从指定 String 构造的模式。 Scanner useLocale(Locale locale) 将此扫描器的语言环境设置为指定的语言环境。 Scanner useRadix(int radix) 将此扫描器的默认基数设置为指定基数。
/
本文档为【JDK帮助文档】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索