无法使用集合api方法 import java.util.ArrayList; 导入java.util.List; 公开课考试{ 列表=新的ArrayList(); list.add(“sdp”);//此行不起作用 }

无法使用集合api方法 import java.util.ArrayList; 导入java.util.List; 公开课考试{ 列表=新的ArrayList(); list.add(“sdp”);//此行不起作用 },java,collections,Java,Collections,问题是您在类上下文中,可以在此处声明和初始化变量。要对变量调用方法,需要在构造函数中执行: import java.util.ArrayList; import java.util.List; public class Test { List<String> list= new ArrayList<String>(); list.add("sdp");// This line isn't working } 如果只有一个元素使用(这将返回一个不可变列表

问题是您在类上下文中,可以在此处声明和初始化变量。要对变量调用方法,需要在构造函数中执行:

import java.util.ArrayList;
import java.util.List;

public class Test {
    List<String> list= new ArrayList<String>();
    list.add("sdp");// This line isn't working
}
如果只有一个元素使用(这将返回一个不可变列表,因此以后不能添加任何元素):

List List=Collections.singletonList(“sdp”);

在类主体中只能有变量声明和初始化、方法声明(对于抽象类)和定义(因此不能有表达式)。如果要初始化变量,可以内联执行,也可以将初始化逻辑封装在初始化块中。请查看以了解初始化类属性的各种方法

List<String> list = Collections.singletonList("sdp");
下面是初始化类属性的一种方法

List<String> list = Collections.singletonList("sdp");
import java.util.ArrayList;
导入java.util.List;
公开课考试{
列表=新的ArrayList();
{
list.add(“sdp”);//这将在创建类“Test”的实例时执行。
}
}

将其包装在方法/构造函数/初始化块中。
List<String> list = Arrays.asList("sdp", "test");
List<String> list = Collections.singletonList("sdp");
import java.util.ArrayList;
import java.util.List;

public class Test {


    List<String> list= new ArrayList<String>();

    {
       list.add("sdp"); //this will be executed when you create an instance of class `Test`.
    }

}