首页 > 其他 > 详细

Scanner类与Readable接口

时间:2019-06-04 10:02:23      阅读:95      评论:0      收藏:0      [点我收藏+]

Java SE5的Scanner类的构造器接收的就是一个Readable接口。你会发现Readable没有用在Java标准类库中其他任何方法的参数,它是单独为Scanner创建的,以使得Scanner不必将其参数限制为某个特定的类。通过这种方式,Scanner可以作用于更多的类型。而特定类只需要实现Readable接口,并重写其中的read方法即可。

Scanner类的这种实现方法用到了策略设计模式,并且在使用Readable接口的过程中也可以使用适配器模式来适配特定类从而能作用于Scanner。具体可参考《Java编程思想》P182。

 

Readable源码:

public interface Readable {
    public int read(java.nio.CharBuffer cb) throws IOException;
}

关于CharBuffer说明:nio中char缓冲器(nio主要新增了通道和缓冲器),后续再深入探讨。

 

Scanner源码:

Info:A simple text scanner which can parse primitive types and strings using regular expressions.

Constructors:可接受File,Path,String,流及通道;

Methods:
1. hasNext及hasNext***(BigDecimal,BigInteger,Byte,Double,Float,Int等);
2. next及next***(BigDecimal,BigInteger,Byte,Double,Float,Int等);

Scanner类与Readable接口

原文:https://www.cnblogs.com/jayinnn/p/10971758.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!