新对象创建最佳实践(针对此情况)

5

我有一个关于一本书中代码的基础问题。由于我是Java语言的新手,因此想知道最佳实践。

请参考以下内容:https://www.refheap.com/89409

这只是该类的一部分。其中有一行代码:

Vector2f earth = earthMat.mul(new Vector2f());

我将其改写如下,所有内容都正常工作:
Vector2f earth = new Vector2f();
earth = earthMat.mul(earth);

第一个语句是更优化的方法吗?由于我是 Java 的新手,所以只是想了解哪种方法更好。从系统上来说(至少在我看来),这两个语句更容易理解。我喜欢明确地针对对象名称进行调用。


2
不应该有任何显著的差异。因此,如果第二种方法更易读,请使用它。 - Ivan Borisov
2个回答

6

没有愚蠢的问题。

但答案是否定的,唯一的区别是第二种更易于阅读,但对于开发者来说也需要更多的输入。

在编译器级别上,仍然有一个指向传递给 mul 方法的对象的指针。编译器不关心它是在一行还是两行。


2
第二个方法也更容易调试,因为您可以跳过第一行并查看将被输入到“mul”中的值。 - T.J. Crowder

3

通过下述言论:

Vector2f earth = new Vector2f();

你需要创建一个引用 earth,指向类型为 Vector2f 的对象。

这意味着

Vector2f earth = earthMat.mul(new Vector2f());

当你在mul()中使用new Vector2f()时,编译器会为你创建一个未知引用。

在这种情况下,没有考虑优化问题,但是第二种方法(正如你所提到的)更容易理解和阅读。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接