赋值的左边必须是一个变量

Dan*_*iel 3 java integer list arraylist

为什么这不起作用?

private List<Integer> xShot = new ArrayList<Integer>();
     ...codes
     ...codes
     ...codes
     ...codes
     xShot.get(0) += 5;
Run Code Online (Sandbox Code Playgroud)

无法理解为什么赋值的左侧不是变量。

有人帮忙吗?

Rya*_*art 5

xShot.get(0)是一个返回值的方法调用。变量是你保存的值,喜欢的类型声明的东西int x;String name;或者List<Integer> xShot从你的榜样。这些是 Java 中唯一可以使用赋值运算符赋值的东西


Rya*_*mos 5

尽管 xShot.get(0) 是一个数字,但它不是一个变量。您需要提供一个变量才能使其工作。那说

int i = xShot.get(0);
i += 5;
Run Code Online (Sandbox Code Playgroud)

不管用。i将增加 5,但 xShot 在位置 5 的对象不是同一个对象。您需要获取、修改和设置变量。

例如:

xShot.set(0, xShot.get(0) + 5);
Run Code Online (Sandbox Code Playgroud)