当前位置:  开发笔记 > 编程语言 > 正文

为什么StringBuilder类不是从Stream继承的?

如何解决《为什么StringBuilder类不是从Stream继承的?》经验,为你挑选了3个好方法。

我只是好奇这个.令我感到震惊的是,StringBuilder的功能在功能上(如果不是技术上)与Stream相同 - 它是可以添加其他数据的数据仓.

再次,只是好奇.



1> Brian Ensink..:

StringBuilder不仅仅是附加功能.它还具有插入功能,这对于流来说是不自然的.StringWriter如果你想要一个包装的流,请使用该类StringBuilder.



2> Jon Skeet..:

Stream是二进制数据的输入和输出.

StringBuilder是构建文本数据的方法.

除此之外,还有状态问题 - StringBuilder只有当前值,不知道"位置".它允许您访问和改变其中的任何位置的数据.另一方面,流在逻辑上是一个潜在的无限数据流,光标位于中间某个位置以说明您需要的位置.您通常只需读/写前进,Seek/Position可跳转到数据流的特定部分.

试着想象用StringBuilder实现Stream API ......它只是不适合.你可以排序的做到这一点,但你最终用StringReader和StringWriter的,基本上是这样.



3> Otávio Décio..:

流通常是指外部输入/输出源(文件,网络).StringBuilder没有这样的特性.

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有