最便宜的java Joda DateTime更新方法是什么?

最便宜的java Joda DateTime更新方法是什么?,java,performance,datetime,jodatime,Java,Performance,Datetime,Jodatime,我想更新DateTime对象的时间。我注意到有两种不同的方法可以创建带有更新时间的DateTime对象的副本,但我不确定使用哪种方法 使用其中一种方法比使用另一种方法有优势吗? import org.joda.time.DateTime; DateTime oldTime = DateTime.now() newTime = oldTime.withMinuteOfHour(30) 对 import org.joda.time.DateTime; DateTime oldTime = Da

我想更新
DateTime
对象的时间。我注意到有两种不同的方法可以创建带有更新时间的
DateTime
对象的副本,但我不确定使用哪种方法

使用其中一种方法比使用另一种方法有优势吗?

import org.joda.time.DateTime;

DateTime oldTime = DateTime.now()
newTime = oldTime.withMinuteOfHour(30)

import org.joda.time.DateTime;

DateTime oldTime = DateTime.now()
newTime = oldTime.minuteOfHour.setCopy(30)

它们可能大致相同-以下是小时内的源代码-

public DateTime withMinuteOfHour(int minute) {
        return withMillis(getChronology().minuteOfHour().set(getMillis(), minute));
}
而小时的分钟是-

public Property minuteOfHour() {
            return new Property(this, getChronology().minuteOfHour());
}

因此,这些调用的核心是相同的,它们可能大致相同-以下是WithMinuteof Hour的源代码-

public DateTime withMinuteOfHour(int minute) {
        return withMillis(getChronology().minuteOfHour().set(getMillis(), minute));
}
而小时的分钟是-

public Property minuteOfHour() {
            return new Property(this, getChronology().minuteOfHour());
}

因此,这些调用的核心是相同的,它们可能大致相同-以下是WithMinuteof Hour的源代码-

public DateTime withMinuteOfHour(int minute) {
        return withMillis(getChronology().minuteOfHour().set(getMillis(), minute));
}
而小时的分钟是-

public Property minuteOfHour() {
            return new Property(this, getChronology().minuteOfHour());
}

因此,这些调用的核心是相同的,它们可能大致相同-以下是WithMinuteof Hour的源代码-

public DateTime withMinuteOfHour(int minute) {
        return withMillis(getChronology().minuteOfHour().set(getMillis(), minute));
}
而小时的分钟是-

public Property minuteOfHour() {
            return new Property(this, getChronology().minuteOfHour());
}

因此,这些调用的核心都是相同的

谈论性能-我真的不太在意,因为这三行几乎永远不会成为应用程序中的瓶颈,除非您处理的是一个内存非常密集的应用程序,其中一个额外的对象可能非常重要。(正如您所知,我查看了源代码,发现第二种方法创建了一个额外的
属性
对象)

说到可读性,我当然会选择第一个。因为我必须去API看看
setCopy()
做了什么。第一个清楚地显示了它的意图,即请求一个新的
DateTime
对象,并将
minuteOfHour
设置为传递的值

这是我不喜欢第二种方法的另一个原因。
minuteOfHour()
方法返回一个
属性

Property minuteOfHour = date.minuteOfHour();
现在,该属性可以分配给
日期的任何属性。我以后可以做:

minuteOfHour = date.dayOfYear();

这会编译,但会更改变量的含义,而不会实际更改名称。这意味着,当您调用时,您不会真正知道要设置什么属性:
property#setCopy()

谈论性能-我真的不太在意,因为这三行几乎永远不会成为应用程序中的瓶颈,除非您处理的是一个内存极度密集的应用程序,在这里,一个额外的对象可能是一个很大的交易。(正如您所知,我查看了源代码,发现第二种方法创建了一个额外的
属性
对象)

说到可读性,我当然会选择第一个。因为我必须去API看看
setCopy()
做了什么。第一个清楚地显示了它的意图,即请求一个新的
DateTime
对象,并将
minuteOfHour
设置为传递的值

这是我不喜欢第二种方法的另一个原因。
minuteOfHour()
方法返回一个
属性

Property minuteOfHour = date.minuteOfHour();
现在,该属性可以分配给
日期的任何属性。我以后可以做:

minuteOfHour = date.dayOfYear();

这会编译,但会更改变量的含义,而不会实际更改名称。这意味着,当您调用时,您不会真正知道要设置什么属性:
property#setCopy()

谈论性能-我真的不太在意,因为这三行几乎永远不会成为应用程序中的瓶颈,除非您处理的是一个内存极度密集的应用程序,在这里,一个额外的对象可能是一个很大的交易。(正如您所知,我查看了源代码,发现第二种方法创建了一个额外的
属性
对象)

说到可读性,我当然会选择第一个。因为我必须去API看看
setCopy()
做了什么。第一个清楚地显示了它的意图,即请求一个新的
DateTime
对象,并将
minuteOfHour
设置为传递的值

这是我不喜欢第二种方法的另一个原因。
minuteOfHour()
方法返回一个
属性

Property minuteOfHour = date.minuteOfHour();
现在,该属性可以分配给
日期的任何属性。我以后可以做:

minuteOfHour = date.dayOfYear();

这会编译,但会更改变量的含义,而不会实际更改名称。这意味着,当您调用时,您不会真正知道要设置什么属性:
property#setCopy()

谈论性能-我真的不太在意,因为这三行几乎永远不会成为应用程序中的瓶颈,除非您处理的是一个内存极度密集的应用程序,在这里,一个额外的对象可能是一个很大的交易。(正如您所知,我查看了源代码,发现第二种方法创建了一个额外的
属性
对象)

说到可读性,我当然会选择第一个。因为我必须去API看看
setCopy()
做了什么。第一个清楚地显示了它的意图,即请求一个新的
DateTime
对象,并将
minuteOfHour
设置为传递的值

这是我不喜欢第二种方法的另一个原因。
minuteOfHour()
方法返回一个
属性

Property minuteOfHour = date.minuteOfHour();
现在,该属性可以分配给
日期的任何属性。我以后可以做:

minuteOfHour = date.dayOfYear();

这会编译,但会更改变量的含义,而不会实际更改名称。这意味着,当您调用时,您不会真正知道要设置什么属性:
property#setCopy()

您自己可以很容易地进行测量。只需多次执行这些操作,并测量所需的时间。这对你自己来说是非常容易测量的。只需多次执行这些操作,并测量所需的时间。这对你自己来说是非常容易测量的。只需多次执行这些操作,并测量所需的时间。这对你自己来说是非常容易测量的。表演吧