我正在寻找一种干净有效的方法来声明相同类型和相同值的多个变量。现在我有:

String one = "", two = "", three = "" etc...

但我想要的是:

String one,two,three = ""

这在java中是可能的吗?牢记效率。


当前回答

我认为这是不可能的,你必须单独设置所有的值(就像你提供的第一个例子一样)。

你给出的第二个例子,将只初始化最后一个变量为“”,而不是其他变量。

其他回答

我认为这是不可能的,你必须单独设置所有的值(就像你提供的第一个例子一样)。

你给出的第二个例子,将只初始化最后一个变量为“”,而不是其他变量。

不,这在java中是不可能的。

你可以这样做。但是要尽量避免。

String one, two, three;
one = two = three = "";
String one, two, three;
one = two = three = "";

这应该适用于不可变对象。这对于可变对象没有任何意义,例如:

Person firstPerson, secondPerson, thirdPerson;
firstPerson = secondPerson = thirdPerson = new Person();

所有变量都指向同一个实例。在这种情况下,你可能需要的是:

Person firstPerson = new Person();
Person secondPerson = new Person();
Person thirdPerson = new Person();

或者最好使用数组或集合。

你可以声明多个变量,并初始化多个变量,但不能同时进行:

 String one,two,three;
 one = two = three = "";

然而,这种事情(尤其是多重赋值)会被大多数Java开发人员所反对,他们认为这与“视觉上的简单”相反。

编辑:正如Zeeen指出的那样,这在Java中是行不通的。我想要回答的问题也是在Groovy中,这是错误提交的。


太晚了,但我找到的最简单的方法是:

String foo = bar = baz = "hello"
println(foo)
println(bar)
println(baz)

输出:

hello
hello
hello