- 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/
我已经从代码隐藏动态生成文本框,一个类“DateTextBox”被设置为所有动态生成的文本框控件。日期选择器控件设置为类,但每个文本控件需要不同的日期格式。如何为每个文本框的 DatePicker 设
我正在开发一个不是我构建的网站,并且有一个页面不断在控制台中给出错误“Uncaught ReferenceError: dateFormat is not Define” 下面是包含错误的 JS(第
我认为这可能是 Android studio 的一个错误,不幸的是它阻止了我继续前进。 我正在使用(并选择!)android.text.format.DateFormat 作为我的 DateForma
我在android上阅读了一些关于格式化日期的帖子,像这样: How do you format date and time in Android? 人们建议使用 android.text.forma
其他类如 SimpleDateFormat 也是如此。Java 有一个 java.text.SimpleDateFormatAndroid 有 android.icu.text.SimpleDateF
我对 SimpleDateFormat 有疑问。 SimpleDateFormat dtfmt=new SimpleDateFormat("dd MMM yyyy hh:mm a", Locale.g
我尝试使用 SimpleDateFormat 解析日期,但遇到了奇怪的行为。 此示例在我的计算机上打印“Sun Jan 01 19:00:32 CET 2012”: import java.text.
上图是日期选择器,我点击确定后,结果如下图所示。 代码如下 public class DatePickerFragment extends DialogFragment implements
我正在尝试解析为“Mar 28,2017 13:00”类型的 Java 日期字符串。 我写了以下代码 DateFormat df = new SimpleDateFormat("MMM
如何将日期格式设置为以下 View 2018 年 10 月 21 日(月份大写)?我可以通过 "%1$TB %1$te, %1$tY" 模式获取它,但我需要通过 SimpleDateFormat 来完
例如: 用户可以输入 01/23/1983 或 1/23/1983 我如何使用 DateFormat 编写两种不同的格式,例如 (MM/DD/YYYY) 和 (M/DD/YYYY) 并将它们与实际日期
我可能忽略了一些东西,但是从字符串解析到日期对我来说无法正常工作。我有字符串:“20110705_060229”,格式为:“YYYYddMM_HHmmss” 这段代码: Date triggermom
我正在尝试使用 DateFormat 类和 格式模式来解析字符串 "20/08/18 13:21:00:428" “dd/MM/yy”“HH:mm:ss:SSS”。时区设置为 BST。 上述返回的日期
这就是我正在做的事情: SimpleDateFormat parserSDF = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzzz yyyy", Local
运行以下代码时出现意外输出, DateFormat df = new SimpleDateFormat("YYYY-MM-dd"); Date date = df.parse("2012-06-23"
我正在尝试将时差显示为一个字符串,该字符串遵循 00:00:00(小时:分钟:秒)的形式,并用零填充。我有以下代码: long timeDiff = System.currentTimeMillis(
我在将 json 对象中收到的日期转换为其所需的格式时遇到问题。我从后端获得的日期是 4 月 13 日,星期三,下午 04:06:00。这就是我所做的。 String refreshDateStrin
String selectedDate = "2012-" + createdMonth + "-" + createdDay; SimpleDateFormat dateFormat = new S
我想将 String 转换为 Date。我的代码: String maturityDate = "20150722"; SimpleDateFormat formatter = new
我通过 SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ").parse(DateinString) 将日期字符串转换为 Date。 这里不是转换为 UTC,而是转换为
我是一名优秀的程序员,十分优秀!