- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我检查了 Jdk19 源代码,我注意到 DateFormat 在将 Date 格式化为 String 时总是使用 StringBuffer。不应该是 StringBuilder 因为它更快吗?
最佳答案
这是因为在 DateFormat
编写的时候(Java 1.1)没有类 StringBuilder
(Java 1.5 之后才存在)。
如果 StringBuffer
是一个实现细节,这就没有问题。
但是 DateFormat
有两个接受和返回 StringBuffer
的方法:
format(Object obj, StringBuffer toAppendTo, FieldPosition fieldPosition)
format(Date date, StringBuffer toAppendTo, FieldPosition fieldPosition)
重写这些方法以接受和返回 StringBuilder
会破坏现有代码。
请注意(正如 Johannes Kuhn 所指出的)这两个方法中的第一个是由抽象基类 java.text.Format
(也来自 Java 1.1)指定的,因此更改它会具有更大的意义。
关于java - 为什么 Jdk DateFormat 使用 StringBuffer 而不是 StringBuilder?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74203602/
为什么下一行没有给出编译时错误? StringBuffer sb = new StringBuffer(new StringBuffer()); 我在网上查了很多也找不到原因。不仅如此,它还允许 St
我在 http get 请求中使用了下面的代码,但是我从返回中得到的是 null。我不知道为什么。 public static String getResponseFromGetUrl(Strin
错误是: Unreachable statement in line StringBuffer buffer = new StringBuffer() 这是我的代码: public void
当 StringBuffer 超出容量时,是否会创建一个新的 StringBuffer 对象,还是仍然是旧的? class Test{ public static void main(String[]
1.我对这两者感到困惑,如果有的话,它们有不同的功能吗? StringBuffer(CharSequence chars) 和 StringBuffer(String str) 2。 String 和
阅读本文后 - What does 'synchronized' mean?我仍然无法理解为什么 StringBuffer 在线程安全环境中会比 StringBuilder 慢。 StringBuff
考虑以下代码 final class immudemo { private static final StringBuffer bf = new StringBuffer("Yaxita"
Groovy支持用于创建StringBuilder / StringBuffer的文字语法,而不是通常的语法 def sb = new StringBuilder() 但是,我似乎无法记住(或在Goo
这是我尝试使用数组构建 stringBuffer。我该如何解决这个问题? import java.util.ArrayList; public class StringBufferProj { pub
我对官方 Javadoc 的说法感到困惑 public StringBuffer replace(int start, int end, String str) Replaces the charac
与将所有数组项附加到 StringBuffer 然后打印相比,为什么在循环中打印数组项需要更多时间? 在此,我在循环中打印了数组项。 public static void main (String[]
我目前正在使用很多这样的内容来重构应用程序: StringBuffer buff1 = new StringBuffer(""); buff1.append("some value A"); buff
我有一个简单的函数,用于连接到服务器并将响应作为字符串返回。当返回的数据量较小但响应较大时,它可以正常工作。它不会完整存储服务器返回的响应字符串,并以...结尾。令人惊讶的是,system.out.p
我对编程还很陌生,需要一些帮助。我正在学习如何使用 StringBuffer 类,并且编写了一个简单的代码。但是,当我尝试运行该程序时,我不断收到错误消息“找不到符号”。任何建议都会很棒!谢谢! pu
在ArrayList中,添加操作是摊销操作。因此,在阅读 StringBuffer 时,我想到了为什么 StringBuffer 不进行摊销。假设我对字符串缓冲区对象使用追加操作,那么它应该能够在其底
我正在尝试在字符串中切换 $ 及其右侧的字符。我不允许使用 char[],所以我决定使用 StringBuffer。但是,当我尝试使用 H$E 之类的内容运行代码时,它会输出 HE$H$E 我不知道额
这个问题已经有答案了: Difference between StringBuilder and StringBuffer (33 个回答) 已关闭 9 年前。 很多人都提到过Java中StringB
我正在尝试从InputStream 中读取一些数据,然后将它们放入StringBuffer 中进行打印。 我把这段代码放在main方法中。 我的问题是,只有在调试代码时才打印 StringBuffer
我正在运行此代码: public class testttt { public static void main(String[] args){ ArrayList listOne = new
我有以下代码: public class MyLogger { private StringBuilder logger = new StringBuilder(); public voi
我是一名优秀的程序员,十分优秀!