use*_*643 197 java variables initialization declaration
我正在寻找一种干净有效的方法来声明相同类型和相同值的多个变量.现在我有:
String one = "", two = "", three = "" etc...
Run Code Online (Sandbox Code Playgroud)
但我正在寻找类似的东西:
String one,two,three = ""
Run Code Online (Sandbox Code Playgroud)
这是在Java中可以做的事情吗?牢记效率.
Alf*_*rio 299
String one, two, three;
one = two = three = "";
Run Code Online (Sandbox Code Playgroud)
这应该适用于不可变对象.它对可变对象没有任何意义,例如:
Person firstPerson, secondPerson, thirdPerson;
firstPerson = secondPerson = thirdPerson = new Person();
Run Code Online (Sandbox Code Playgroud)
所有变量都指向同一个实例.在这种情况下你可能需要的是:
Person firstPerson = new Person();
Person secondPerson = new Person();
Person thirdPerson = new Person();
Run Code Online (Sandbox Code Playgroud)
或者更好的是使用数组或Collection
.
Mic*_*rdt 53
您可以声明多个变量,并初始化多个变量,但不能同时:
String one,two,three;
one = two = three = "";
Run Code Online (Sandbox Code Playgroud)
但是,大多数Java开发人员都不赞成这种事情(特别是多项任务),他们认为它与 "视觉上简单" 相反.
sgo*_*les 18
不,这在Java中是不可能的.
你可以这样做..但试着避免它.
String one, two, three;
one = two = three = "";
Run Code Online (Sandbox Code Playgroud)
Sru*_*lla 15
适用于原语和不可变类,如String
Wrapper classes Character,Byte.
int i=0,j=2
String s1,s2
s1 = s2 = "java rocks"
Run Code Online (Sandbox Code Playgroud)
对于可变类
Reference r1 = Reference r2 = Reference r3 = new Object();`
Run Code Online (Sandbox Code Playgroud)
创建三个引用+一个对象.所有引用都指向同一个对象,您的程序会出错.
Hyp*_*ino 11
你可以这样做:
String one, two, three = two = one = "";
Run Code Online (Sandbox Code Playgroud)
但这些都指向同一个实例.它不会导致最终变量或基本类型出现问题.这样,您就可以在一行中完成所有工作.