这里不允许使用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}; } } 

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

  • 在Android中转义多个“%”字符
  • Android ArrayAdapter.Add方法不起作用
  • 如何从android中的字符串数组中获取随机值?
  • 您必须为TextView安全系统错误提供资源ID
  • 是否可以在Android中访问字符串数组项?
  • 如何将多个JSONObjects放入/获取到JSONArray?
  • 从byteArray显示图像
  • RecyclerView中图像的奇怪行为
  • 你应该用

     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"};