java中的Scanner和 StringTokenizer对象在提取信息方面的使用 差别是什么?
时间: 2024-03-24 07:39:05 浏览: 16
在Java中,Scanner和StringTokenizer都可以用来提取信息,但它们的使用方式和功能有所不同。
Scanner对象是Java中的一个工具类,它可以从输入流中读取数据,并将其转换成各种数据类型。Scanner可以读取文件、键盘输入等各种类型的输入流。Scanner可以使用next()和nextLine()方法来逐个单词或逐行读取数据,并使用nextInt()、nextDouble()等方法来读取不同类型的数据。
例如:
```
Scanner scan = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String str = scan.nextLine();
System.out.println("您输入的字符串是:" + str);
```
StringTokenizer对象也可以用来提取信息,但它只能按照指定的分隔符将字符串分割成多个单词。StringTokenizer提供了hasMoreTokens()和nextToken()方法来逐个单词读取数据。
例如:
```
String str = "Hello,World";
StringTokenizer st = new StringTokenizer(str, ",");
while (st.hasMoreTokens()) {
String token = st.nextToken();
System.out.println(token);
}
```
因此,Scanner对象更加灵活,可以处理各种类型的输入流,支持逐个单词和逐行读取数据,而StringTokenizer则更加专注于按照分隔符提取单词。在实际使用中,应根据需求选择合适的工具。