这里不允许使用Android,Java数组初始值设定项

我正在研究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}; } } 

感谢任何解决方案,但如果您能解释这里发生了什么,我将不胜感激

Solutions Collecting From Web of "这里不允许使用Android,Java数组初始值设定项"

你应该用

 pos = new int[]{1,2,3}; 

你只能这样做int pos = {0,1,2}; 在variables初始化时。

 private int[] values1 = new int[]{1,2,3,4}; private int[] values2 = {1,2,3,4}; // short form is allowed only at variable initialization 

你的初始化语句是错误的: 你必须添加方括号来声明一个数组(这里你可以省略new关键字,因为你正在初始化variables)。

 int[] pos = {0,1,2}; 

onCreate方法中,您不能省略new关键字 ,因此您必须编写:

 pos = new int[] {2,1,0}; 

您可以阅读Oracle文档以获取更多详细信息。

使用以下语法声明/初始化并清空数组,然后用数据填充它:

 String[] menuArray = {}; menuArray = new String[]{"new item","item 2"};