zoukankan      html  css  js  c++  java
  • Scanner类与Readable接口

    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等);
  • 相关阅读:
    《一起》Alpha版软件使用说明
    意见评论
    评论总结
    项目评审
    对大神联盟博客的检查结果
    SmartCoder每日站立会议10
    SmartCoder每日站立会议09
    mac php环境启动
    gulp工具rename
    gulp图片压缩
  • 原文地址:https://www.cnblogs.com/jayinnn/p/10971758.html
Copyright © 2011-2022 走看看