我正在做Android项目,我得到了一个我不能理解的错误:
此处不允许使用
数组初始值设定项
我试着简化我的代码,结果是这样的
public class MainActivity extends Activity{
int pos = {0, 1, 2};
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
pos = {2, 1, 0};
}
}
这里发生什么事情?
发布于 2017-01-15 14:51:37
你应该使用
pos = new int[]{1,2,3};
您只能在变量初始化时使用缩写语法int[] pos = {0,1,2};
。
private int[] values1 = new int[]{1,2,3,4};
private int[] values2 = {1,2,3,4}; // short form is allowed only at variable initialization
发布于 2017-01-15 15:27:04
你的初始化语句是错误的:你必须添加方括号来声明一个数组(这里你可以省略new
关键字,因为你同时声明和初始化变量):
int[] pos = { 0, 1, 2 };
在 new
方法中,不能省略关键字,因为该变量已经声明,因此必须这样写:
pos = new int[] { 2, 1, 0 };
您可以阅读Oracle documentation和Java Language Specs以了解更多详细信息。
发布于 2018-02-07 18:22:16
使用以下语法声明/初始化空数组,然后用数据填充它:
String[] menuArray = {};
menuArray = new String[]{"new item","item 2"};
https://stackoverflow.com/questions/41658497
复制相似问题