gpt4 book ai didi

android - 参数 ITEMS 的非法修饰符;只允许 final

转载 作者:行者123 更新时间:2023-11-29 16:12:35 24 4
gpt4 key购买 nike

我是新来的。我正在尝试做一个消息列表,其中包含消息 1、消息 2 和消息 3 的内容。但是下面的代码显示错误消息。

static final String[] ITEMS = new String[] { "message 1", "message 2", "message 3" };

错误信息:

Illegal modifier for parameter ITEMS; only final is permitted

但是在“另一个项目”中,我正在使用下面的代码制作水果 list 。

static final String[] FRUITS = new String[] { "Apple", "Banana", "Coconut" };

而且它工作得很好。两个代码看起来完全一样,所以我不知道问题出在哪里。

下面是消息列表的完整代码。

package net.eg.itemlist;


import android.os.Bundle;
import android.view.Menu;
import android.widget.ArrayAdapter;
import android.app.ListActivity;

public class Main extends ListActivity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

static final String[] ITEMS = new String[] { "message 1", "message 2", "message 3" };

ArrayAdapter<String> adapter =
new ArrayAdapter<String>(this, R.layout.main, R.id.textview_id, ITEMS);
setListAdapter(adapter);


}
}

最佳答案

您不能使用 static在一个方法中。将声明上移到类级别或删除 static .

static意味着它是类本身的值,而不是类的实例。因此,如果您创建类的 100 个实例,那么如果您声明它,则该变量只有一个共享实例 static , 但是如果你不声明它就会有 100 个实例 static .

在 Java 中,这种变量只允许在类级别使用。

作为旁注:在 C++ 中(不确定 C),您可以在具有相似语义的方法/函数内部使用它:每次调用函数/方法和初始化时,该变量的内存都是相同的只会在第一次通话时完成。但是您不能从函数/方法外部寻址内存,因此变量将是“函数/方法私有(private)的”。

关于android - 参数 ITEMS 的非法修饰符;只允许 final,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11820595/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com