问题标签 [stringbuffer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 无法显示所有 description.StringBuffer 容量?
我想在我的应用程序上阅读 RSS 提要,我一直基于一些指南,并且我成功地实现了基础知识。但是,当我打开一个 RSS 项目时,会显示标题,但描述(具有更多字符)以大约 13 行和三个点(...)结尾。我在 JAVA 文档中读到 StringBuffer 的容量有限,当它达到其全部容量时,它会设置一个点。这就是为什么我认为问题来自 StringBuffer:
请问有什么帮助吗?非常感谢。
java - 将 StringBuffer 分成更小的部分
我有一个很大的字符串缓冲区,我想把它分成更小的部分。字符串缓冲区看起来像这样
在哪里
(你会得到 idea.name1,name2,name3 代表不同长度的实际名称)
现在我想将名称存储在一个字符串数组中,每个位置包含 200 个名称。
我将如何完成这项任务?
java - 为什么不让 StringBuilder 和 StringBuffer 实现一个通用接口?
StringBuilder
Java和Java之间的差异StringBuffer
有据可查,并且在 StackOverflow中也有所涉及。
基本上,StringBuilder
它是 的非同步副本StringBuffer
,具有几乎相同的界面,因为它旨在作为StringBuffer
. 它们的 API 实际上是相同的,它们实际上是当前 JDK 中同一个不可访问抽象类的子类。
因此,我想知道的一件事是为什么它们没有公开相关。让这两个类都实现一个公共接口,甚至StringBuffer
作为一个子类都是StringBuilder
有意义的,允许两个类共享代码。
那么为什么要强制分离呢?是为了让程序员不会无意中将线程安全代码与线程不安全代码混为一谈吗?或者它只是一个设计疏忽,现在将被继承到永恒的尽头?
编辑:
说清楚:我可以推测为什么会这样,但我希望具体参考实际决策,例如在 JSR 过程中。对我来说,任何能说明什么是偶尔会引起一定困难的情况的事情。
编辑2:
这两个类都实现Appendable
了我的想法。可能是因为该特定接口对于大多数用途来说是无用的——它只能附加一个字符或一个准备好的对象,仅此而已。在大多数情况下,它并不比两个类都是Object
.
编辑 3:
好吧,这是来自半官方来源的这个问题的基本原理:
图书馆团队的评价:
根据设计,StringBuffer 和 StringBuilder 不共享公共的公共超类型。它们不是替代品:一个是错误(StringBuffer),另一个(StringBuilder)是它的替代品。
显然,在某些情况下,缺少通用超类型会减慢从 StringBuffer 到 StringBuilder 的预期迁移。另一方面,通过添加一个通用的超类型,我们将把我们过去的错误记录在一个公共界面中,以便永远与我们同在。这不仅会减慢迁移速度:还会使其脱轨。
java - 为什么下例中容量变为 112?
在以下代码中...
...输出是:
java - 如何使用 StringBuilder 读取 Java 中的大型文本文件?
Java中是否有任何机制可以在读取大型文本文件时减少内存使用?
几乎我遇到的每个程序都使用 String 来读取文本文件。但是 Java 为每个 String 文字保留空间。这就是为什么我认为内存使用量会增加,因为所有 String 对象都被存储了。java.io 的所有类都处理字符串。但是如果我们不使用 StringBuilder 那么我们如何减少内存使用呢?
毕竟减少内存使用是 StringBuilder 的主要关注点[因为它不像 String 那样不可变]。那么我们如何在不使用 String 的情况下在 Java I/O 操作中利用它的特性,即不使用类似这样的东西: sb.append([String object]);
java - Java 解释:为什么 String 不可变使 StringBuffer 更高效
我读过一本Java书,上面写着:
因为 a
String
是不可变的,所以使用StringBuffer
效率更高。
我知道String
实例是不可变的。
我也明白这StringBuffer
使得处理字符串比平常更有效。
但我无法解决的问题是将这两个概念联系起来,即String
不可变有什么帮助StringBuffer
?
谢谢 :)
java - StringBuffer 未完全读取
我有一个简单的函数用于连接服务器并将响应作为字符串返回。当返回的数据量很小但响应很大时,它可以正常工作。它不会完全存储服务器返回的响应字符串,并以...结束字符串。令人惊讶的是,system.out.println 返回了正确的响应。请帮帮我。我真的被困住了。
java - 使用 Java 从字符串缓冲区中删除子字符串
每次出现此子字符串时,我都想从字符串缓冲区中删除一个子字符串,到目前为止我所做的是:
我想删除每次出现的“爱丽丝”。但它给出了以下错误:
我认为是 while 行中的错误。有任何想法吗?
java - 重用字符串缓冲区
我知道 concat、StringBuffer 和 StringBuilder 之间的区别。我知道 StringBuffer.toString 后备数组存在内存问题,它会导致内存爆炸。我什至知道 JDK Sun 优化包括为初始容量分配 2 的幂。
但我仍然想知道重用 StringBuffer(在 toString() 中使用)的最佳方法,或者重用 StringBuffer 是否相关。考虑到内存和速度性能,哪一个更好?
或者
为什么?
java - 如何在 JtextPane 或 StringBuffer 中对齐文本
我正在使用 JTextPane 并希望对齐从 StringBuffer 收到的文本结果。运行结果的线程返回一个包含所有请求结果的字符串,然后在另一个线程中,我将数据放在 JTextPane 中。
获取结果(字符串)的代码如下所示:
显然,取决于州/城市的长度,屏幕上的结果是不一致的。任何人都可以指出应该使用什么来整齐地对齐它。这可以使用 StringBuffer 或稍后在 JTextPane 中完成。
谢谢
下面是所需结果的屏幕截图。