当前位置: 首页 > 面试题库 >

此处不允许使用数组初始化程序

阎晋
2023-03-14
问题内容

我正在处理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};
    }
}

这里发生了什么?


问题答案:

你应该用

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


 类似资料:
  • 我遇到了下面的Java代码,起初看起来不错,但从未编译过: 下面是IDE :变量USER_ID可能已分配的错误消息。 将值赋值给静态最终变量有问题吗?

  • 问题内容: 我正在尝试配置项目的pom.xml文件。我希望它在测试阶段启动Jetty服务器。为了做到这一点,我应该像下面所做的那样向Jetty插件添加“ daemon”元素,但是IntelliJ警告我“此处不允许使用元素daemon”。你能帮我么?是什么原因? 问题答案: 这实际上是IntelliJ Idea的错误。有时它无法正确识别某些配置属性。该插件确实具有此属性,因此除了忽略IDE中的错误外

  • 我已经设置了一个编译器资源管理器示例,显示了反汇编中的问题,这里是完整的示例。注意:为了再现这个问题,我发现工作的组合是使用CLANG5.0.0和-O2优化。 问题的产生是因为优化器:它非常聪明地推断出字符串“true”和“false”的长度仅相差1。因此,它不是真正计算长度,而是使用bool本身的值,技术上应该是0或1,如下所示: 虽然这很“聪明”,但我的问题是:C++标准允许编译器假设bool

  • 问题内容: 我正在学习使用课程,而我的作业的一部分是参加汽车课。我在第6行遇到错误,尝试在该行中打印方法的结果。我认为这意味着我正在尝试打印不存在的内容,并且我怀疑这是里程方法。我尝试将其更改为返回英里,但这也没有用。有任何想法吗? 问题答案: 该错误消息告诉您确切的问题是什么-您正试图从不返回结果的方法中提取结果。 而是让方法 返回 字符串,而不是打印出字符串。 我本人将使它成为一种吸气剂方法,

  • 在信号量(java.util.concurrent.Semaphore)初始化期间,我没有得到负许可背后的基本原理。 我知道调用release()方法最终可能会使信号量的许可证大于等于1( 然而,我没有得到任何实际的用例,在这种情况下,我将使用负许可初始化信号量。 参考样本代码:

  • 这是A.java 这是B.java Pack\B. java: 7:错误:这里不允许使用“无效”类型System.out.println(“30 20=”obj.add(30,20));^pack\B. java: 8:错误:找不到符号ob.msg (); ^ 符号:变量ob位置:类B 2错误 我一直得到这个错误 我制作了一个名为pack的文件,并在我编译它的文件中添加了a.java和B.java