A.所属包
java.util.Scanner
B.声明
public final class Scanner extends Object implements Iterator<String>
C.概述
一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器
D.常用构造方法
Scanner(InputStream source)
参数是一个输入流
E.常用成员方法
a.public boolean hasNext()
如果此扫描器的输入中有另一个标记,则返回true
b.public boolean hasNextXxx()
如果此扫描器的输入中下一个标记且是Xxx类型的,则返回true
c.public String next()
查找并返回来自此扫描器的下一个完整标记
d.public String nextLine()
此扫描器执行当前行,并返回跳过的输入信息
e.public Xxx nextXxx()
将输入信息的下一个标记扫描为一个Xxx类型的数据
F.注意事项
a.先获取一个数值再获取一个字符串时,字符串还未输入扫描器就停止了,是换行符在作怪
b.a问题的解决方法
1.获取数值后,再重写创建一个新的扫描器对象获取字符串
2.把所有数据都按照字符串获取再通过数据类型转换获得想要的类型
G.示例
class MyObject implements Cloneable//这里实现了Cloneable接口,重写了clone()方法
{
protected Object clone()
{
return this;
}
}
class MyObjectTest
{
public static void main(String[] args)
{
MyObject mobj1=new MyObject();
MyObject mobj2=new MyObject();
System.out.println(mobj1==mobj1.clone());//true
System.out.println(mobj1.equals(mobj2));//false
System.out.println(mobj1.hashCode());//697960108(每个人可能相同)
System.out.println(mobj1.toString());//object.MyObject@299a06ac(每个人可能不相同)
}
}