有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (1) 个答案

  1. # 1 楼答案

    这在很大程度上是API的问题

    • StringWriter实现WriterAPI;i、 e.它可以用作“接收器”,用于捕获写入基于字符的输出流的字符

    • StringBuilder实现CharSequenceAPI。这比Writer更通用,因为它还支持访问已经写入的字符。此外,StringBuilder还有在任意位置插入和删除的方法

    还应该注意的是WriterStringBuilder都实现了AppendableAPI,这意味着对于某些用例,您可以编写一个可以接受StringWriterStringBuilder来捕获文本的方法

    所以。。。你会用哪一种

    • 如果要调用现有的库方法,请使用与该方法的API兼容的方法。如果两者都兼容,则可以使用其中一种

    • 如果您正在设计一个API方法,那么可能应该使用相应的超类/接口之一作为参数(或结果)类型,而不是硬连接StringWriterStringBuilder。这将使您的方法更通用/更可重用。最普遍的可能是Appendable。。。但这取决于您的方法需要对角色接收器做什么,以及预测的客户需求