我正在尝试编写一个跟踪电影的应用程序,作为提高 Java 水平的一种方法。为此,我为电影本身使用“Movie”类,以及您可能期望的“标题”、“年份”、“导演”等类,这些类都是通过“电影”构造函数设置的。现在假设我想更换一部电影的导演,那么从“电影”类中最有效的方法是什么?我将其归结为创建一个新实例或更改旧实例,即
public void setYear(int year) {
this.year = new Year(year);
}
或
public void setYear(int year) {
this.year.setYear(year);
}
最重要的是,我只是不确定第二个是否是正确的编码实践?
我最近刚刚开始学习 Java,所以对于我的问题中的任何困惑,我深表歉意。
最佳答案
与大多数性能问题一样,最佳答案是;首先考虑简单、清晰的编码,它通常会表现得足够好。仅当您测量到有问题时才担心性能问题,否则您只是猜测(即使您有十年的 Java 应用程序调优经验)
第一个例子是最简单的,也可能是最清晰的,尽管我不确定为什么你有一个 Year
类,因为你很乐意传入一个 int
一年。第二种速度更快,但更容易出错。
如果您只是想要最高效,请使用 int
。
最佳实践可能是使用 Year
作为随处不可变的值,例如
public void setYear(Year year) {
this.year = year;
}
例如,JodaTime 有多种不可变类来表示不同的时间段。
关于java - 什么是最有效率的;创建一个新实例或更改现有实例中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21464840/