当前位置: 首页 > 面试题库 >

我们可以将SimpleDateFormat对象声明为静态对象吗?

上官琦
2023-03-14
问题内容
SimpleDateFormat monthFormat = new SimpleDateFormat("MMMM");
SimpleDateFormat fullFormat = new SimpleDateFormat("EE MMM dd, HH:mm:ss")

我有一些经常被调用的代码,将它们声明为static变量是否有意义?

format()在这种情况下将动态参数传递给方法是否安全?


问题答案:

不, 它们不是线程安全的,请改用Joda-time的版本 。

或者将它们包装在同步方法中,并使其成为线程安全的

博士说得很清楚

日期格式不同步。建议为每个线程创建单独的格式实例。如果多个线程同时访问一种格式,则必须在外部进行同步。



 类似资料:
  • 问题内容: 如何将类属性声明为对象? 我试过了: 但这没有用。另外,为什么要那样做呢? 只实例化该对象并使用其成员不是更好吗? 问题答案: 从有关类属性的PHP手册(重点是我的): 类成员变量称为“属性”。您可能还会看到使用其他术语(例如“属性”或“字段”)来引用它们,但是出于参考目的,我们将使用“属性”。它们是使用关键字public,protected或private之一定义的,后跟普通变量声明

  • 问题内容: 我知道我们可以重载类实例的行为,例如- 我们可以更改的结果print s: 我们可以更改结果print Sample吗? 问题答案: 您可以使用元类: Python 3: Python 2: 输出: 元类是类的类。它与类的关系类似于类与实例的关系。使用相同的class语句。type而是从继承表单object使其成为一个元类。按惯例self由代替cls。

  • 问题内容: 有人可以澄清以下代码的重要性吗? 对象A被声明为final,但是我可以更改该对象的实例变量的值,也可以获取更新后的值。那么将对象声明为final的意义何在?我知道将原始数据类型声明为final,这使该变量保持不变。 问题答案: ob将无法引用任何其他对象:final关键字。 不能重新分配。但是您可以更改其内部(如果它是原始的,则是可变的)。所以这有效: 但这不是:

  • Kotlin 用对象表达式和对象声明来实现创建一个对某个类做了轻微改动的类的对象,且不需要去声明一个新的子类。 对象表达式 通过对象表达式实现一个匿名内部类的对象用于方法的参数中: window.addMouseListener(object : MouseAdapter() { override fun mouseClicked(e: MouseEvent) { //

  • 我为我的RecyclerView设置了一个ItemClickLister,如下所示: 使用我翻译成Kotlin的ItemClickSupport库。 我在(第2行)上收到一个错误,它说: 对象必须声明为抽象或实现抽象成员。 我真的是静态编程语言的新手,我在SO上也找不到任何解决方案。 非常感谢您的帮助。 编辑: 这是我的项目ClickSupport。kt: 这是一个包含整个错误的屏幕截图,以及错误

  • 我试图显示一个对象数组,多个函数将不得不改变它。所以我试着让它成为可观察的(也许我错了)。 打字版本:2.7.2 rxjs:6.2.1角cli:6.0.8节点:8.11.3角:6.0.7 我的服务(IsolementService)中有一个变量声明为: 我的服务主要有两种方法 接口: 我的服务是呼叫组件: 但是当我编译时,我有一个错误TS2495:类型“Observable”不是数组或字符串类型。