在我的Java代码中找到奇怪的表达式:变量赋值语法

时间:2018-02-09 09:25:59

标签: java variables declaration

今天在我的代码中,我发现我写了以下一行

JsonArray environmentJsonArray = new JsonArray(), playerJsonArray, teamJsonArray;

我完全不知道这是如何工作的。基本问题是,我的RHS上的两个变量是什么?我检查过我之前是否宣布过,但我没有。编译器仍然没有抱怨表明变量playerJsonArrayteamJsonArray被视为新的声明。但随后声明的变量总是在LHS上。不是吗? Java的基本语法有什么变化吗?我试图通过规范来达到最低点,但万一有人请更快理解。

2 个答案:

答案 0 :(得分:4)

您要声明3个JsonArray类型的变量,并且只为第一个变量指定初始值。

它基本上与:

相同
JsonArray environmentJsonArray = new JsonArray();
JsonArray playerJsonArray;
JsonArray teamJsonArray;

JLS 9的相关部分是Sec 14.4

  

Java的基本语法有什么变化吗?

version 1.0以来就是这样。

答案 1 :(得分:0)

它类似于声明3个类型为JsonArray的变量,你也只是初始化第一个是environmentJsonArray的变量。其余的是playerJsonArray,teamJsonArray是未初始化的。