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

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

但我想要的是:

String one,two,three = ""

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


当前回答

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

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

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

其他回答

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开发人员所反对,他们认为这与“视觉上的简单”相反。

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

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

对于可变类

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

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

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

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

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