首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >此处不允许使用数组初始值设定项

此处不允许使用数组初始值设定项
EN

Stack Overflow用户
提问于 2017-01-15 14:33:07
回答 4查看 32.3K关注 0票数 42

我正在做Android项目,我得到了一个我不能理解的错误:

此处不允许使用

数组初始值设定项

我试着简化我的代码,结果是这样的

代码语言:javascript
复制
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};
    }
}

这里发生什么事情?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-01-15 14:51:37

你应该使用

代码语言:javascript
复制
pos = new int[]{1,2,3};

您只能在变量初始化时使用缩写语法int[] pos = {0,1,2};

代码语言:javascript
复制
private int[] values1 = new int[]{1,2,3,4};
private int[] values2 = {1,2,3,4}; // short form is allowed only at variable initialization
票数 94
EN

Stack Overflow用户

发布于 2017-01-15 15:27:04

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

代码语言:javascript
复制
int[] pos = { 0, 1, 2 };

new 方法中,不能省略关键字,因为该变量已经声明,因此必须这样写:

代码语言:javascript
复制
pos = new int[] { 2, 1, 0 };

您可以阅读Oracle documentationJava Language Specs以了解更多详细信息。

票数 10
EN

Stack Overflow用户

发布于 2018-02-07 18:22:16

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

代码语言:javascript
复制
String[] menuArray = {};
menuArray = new String[]{"new item","item 2"};
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41658497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档