gpt4 book ai didi

java - 什么是最有效率的;创建一个新实例或更改现有实例中的值?

转载 作者:行者123 更新时间:2023-12-01 07:27:47 24 4
gpt4 key购买 nike

我正在尝试编写一个跟踪电影的应用程序,作为提高 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com