UnbufferedCharStream.java 文件源码

java
阅读 17 收藏 0 点赞 0 评论 0

项目:Scratch-ApuC 作者:
@Override
public String getText(Interval interval) {
    if (interval.a < 0 || interval.b < interval.a - 1) {
        throw new IllegalArgumentException("invalid interval");
    }

    int bufferStartIndex = getBufferStartIndex();
    if (n > 0 && data[n - 1] == Character.MAX_VALUE) {
        if (interval.a + interval.length() > bufferStartIndex + n) {
            throw new IllegalArgumentException("the interval extends past the end of the stream");
        }
    }

    if (interval.a < bufferStartIndex || interval.b >= bufferStartIndex + n) {
        throw new UnsupportedOperationException("interval "+interval+" outside buffer: "+
                            bufferStartIndex+".."+(bufferStartIndex+n-1));
    }
    // convert from absolute to local index
    int i = interval.a - bufferStartIndex;
    return new String(data, i, interval.length());
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号