13.4 字 符 截 取 String类提供了许多从String对象中截取字符的方法。下面逐一介绍。尽管在一个String对象中构成字符串的字符不能像字符数组一样被索引,许多字符串(String)方法利用下标(或偏移)对字符串进行操作。和数组一样,字符串下标从0开始。 13.4.1 charAt( ) 为了从一个字符串(String)中截取一个字符,可以通过charAt( )方法直接引用单个字符。其一般形式如下: char charAt(int where) 这里,where是想要得到的字符的下标。where的值必须是非负的,它指定了在字符串中的位置。charAt( )方法返回指定位置的字符。例如, char ch; ch = "abc".charAt(1); 将“b”赋给ch。 13.4.2 getChars( ) 如果想一次截取多个字符,可以使用getChars( )方法。它有如下的一般形式: void getChars(int sourceStart, int sourceEnd, char target[ ], int targetStart) 这里sourceStart指定了子字符串开始的下标,sourceEnd指定了子字符串结束的下一个字符的下标。因此子字符串包含了从sourceStart到sourceEnd–1的字符。获得字符的数组由target所指定。将被复制子字符串于其中的target的下标由targetStart指定。注意必须确保的是数组target应该足够大以保证能容纳被指定子字符串中的字符。 下面的程序说明了getChars( )方法: class getCharsDemo { public static void main(String args[]) { String s = "This is a demo of the getChars method."; int start = 10; int end = 14; char buf[] = new char[end - start]; s.getChars(start, end, buf, 0); System.out.println(buf); } } 该程序的输出如下所示: demo 13.4.3 getBytes( ) 有一种称为getBytes( )的方法,它是实现将字符存放于字节数组中的getChars( )方法的 替代,它使用平台提供的默认的字符到字节的转换。下面是它的最简单形式: byte[ ] getBytes( ) 也可使用getBytes( )方法的其他形式。在将字符串(String)值输出到一个不支持16位Unicode编码的环境时,getBytes( )是最有用的。例如,大多数Internet协议和文本文件格式在文本交换时使用8位ASCII编码。 13.4.4 toCharArray( ) 如果想将字符串(String)对象中的字符转换为一个字符数组,最简单的方法就是调用 toCharArray( )方法。对应整个字符串,它返回一个字符数组。其一般形式为: char[ ] toCharArray( ) 这个函数是为了便于使用而提供的,因此也可以用getChars( )方法获得相同的结果。
<<上一页
1
2
3
4
5
6
7
8
9
10
11
12
下一页>>
|