gpt4 book ai didi

java - 在同一行键入实例化和声明

转载 作者:行者123 更新时间:2023-11-30 08:08:58 25 4
gpt4 key购买 nike

所以我刚和一个 friend 就在 Java 中高效地实例化和声明变量发生了争执;这场争论以僵局告终,因为我们都无法提出无法平等争论的观点,所有这些都归结为意见问题。但是,我的问题是:

如果我在同一行声明 3 个变量:Object x,y,z;,这与在三个单独的行声明它们是一样的:Object x; 对象 y; 对象 z;。但是,在一行中声明它们是否更有效?

如果我在同一行声明 3 个变量并同时实例化它们,它们是否都绑定(bind)到相同的对象/值?:Object x,y,z = new Object(); 或者x 是否等于 Object 类型的新实例以及 yz 是否等于 Object 的新实例?

如果我在同一行声明 3 个变量并单独实例化它们而不是在 3 个单独的行上这样做,它是否更有效,或者只是一个意见问题?:

Object x = new Object(),y = new Object(),z = new Object();

最佳答案

However, is it more efficient to declare them all on one line?

没有任何变化,两者相同,除了可读性。

If I declare 3 variables on the same line and instantiate them all simultaneously, are they all bound to the same Object/Value?:

不仅 z 会被初始化。如果 x 和 y 是类级变量,则它们将为 null

If I declare 3 variables on the same line and instantiate them all individually rather than do so on 3 separate lines, is it more efficient, or just a matter of opinion?:

不,这与分别实例化它们没有什么不同。

然而,为了将话题引向不同的方向,这种声明的要点是基于可读性约定,所有其他程序员都应该同意。

先读这个,

Object o1,o2,o3 = new Object(),o4,o5,o6,o8;

现在这个,

Object o1;
Object o2;
Object o3 = new Object();
Object o4;
Object o5;
Object o6;
Object o8;

在这种情况下,您首先意识到缺少 o7o3 已初始化。对于某些人来说,这两种情况都可能存在,但考虑到此声明是大型项目的一部分,并且您在许多地方都有此类声明。现在,这两个声明都可以发挥作用。

关于java - 在同一行键入实例化和声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32793256/

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