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

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

但我想要的是:

String one,two,three = ""

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


当前回答

适用于原语类和不可变类,如字符串,包装类字符,字节。

int i=0,j=2   
String s1,s2  
s1 = s2 = "java rocks"

对于可变类

Reference r1 = Reference r2 = Reference r3 = new Object();`  

创建三个引用+一个对象。所有引用都指向同一个对象,程序就会出错。

其他回答

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


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

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

输出:

hello
hello
hello

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

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

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

适用于原语类和不可变类,如字符串,包装类字符,字节。

int i=0,j=2   
String s1,s2  
s1 = s2 = "java rocks"

对于可变类

Reference r1 = Reference r2 = Reference r3 = new Object();`  

创建三个引用+一个对象。所有引用都指向同一个对象,程序就会出错。

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();

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

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

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

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