StringTokenizer
是 Java 中的一個類,用于將字符串拆分為標記(tokens)。默認情況下,它使用默認的字符集(通常是 ISO-8859-1)來處理字符串。但是,如果你需要處理 Unicode 字符,可以通過以下方法實現:
StringTokenizer
的構造函數,將輸入字符串轉換為 Reader
對象,以便正確處理 Unicode 字符。例如:import java.io.StringReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) {
String input = "你好,世界!";
StringTokenizer tokenizer = new StringTokenizer(input, "", true, new java.io.Reader() {
@Override
public int read(char[] cbuf, int off, int len) {
return input.chars().skip(off) >= len ? input.chars().read(cbuf, 0, len) : -1;
}
});
while (tokenizer.hasMoreTokens()) {
System.out.println(tokenizer.nextToken());
}
}
}
在這個例子中,我們創建了一個匿名 Reader
類,覆蓋了 read
方法,使其能夠從輸入字符串中讀取 Unicode 字符。然后,我們將這個 Reader
對象傳遞給 StringTokenizer
的構造函數。
java.util.Scanner
類,它更適合處理 Unicode 字符。例如:import java.util.Scanner;
public class Main {
public static void main(String[] args) {
String input = "你好,世界!";
Scanner scanner = new Scanner(input);
while (scanner.hasNext()) {
System.out.println(scanner.next());
}
}
}
在這個例子中,我們使用了 Scanner
類來處理 Unicode 字符。Scanner
類會自動處理 Unicode 字符,因此你不需要進行任何特殊處理。