当我执行以下代码时,我收到一条错误消息,指出未找到变量 myList
。
public class ListExample {
List<Integer> myList=new List<Integer>{1, 2, 3, 4, 5};
public static void main() {
System.debug(myList);
}
}
最佳答案
您的代码存在一些问题:
语法
List<Integer> myList=new List<Integer>{1, 2, 3, 4, 5};
不正确。您无法创建这样的列表。您应该使用实现List
的类之一这是一个接口(interface),例如ArrayList
,LinkedList
等。例如,正确的语法是List<Integer> myList=new ArrayList<Integer>();
.变量
myList
不是静态的,并且不能在静态方法内访问非静态字段。
查看example of how to fix it使用 Arrays#asList
里面 Static Initialization Blocks :
public class ListExample {
static List<Integer> myList;
static {
myList= Arrays.asList(1, 2, 3, 4, 5);
// this would work too
// myList = new ArrayList<>();
// for (int i = 1; i < 6; i++) {
// myList.add(i);
// }
}
public static void main(String[] args) {
System.out.println(myList); // [1, 2, 3, 4, 5]
}
}
关于java - Salesforce 中的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55781789/