Java向ArrayList添加元素时提示identifier expected错误怎么办?
错误原因
ArrayList<E>.add()方法仅接受泛型E类型的单个对象作为入参,你直接传入3个字符串参数与方法签名不匹配,需要先实例化Employer对象再传入add方法。
- 执行语句
employers.add()不能直接写在类的成员定义区域,Java不允许在方法、构造函数、静态/实例初始化代码块之外直接编写执行逻辑,这也是你收到identifier expected报错的核心原因。
- 执行语句
- 补充:当前
Employer的构造器为默认包访问权限,若Employer与Employers类不在同一个包下,需要给构造器添加public修饰符才能正常实例化。
- 补充:当前
修复后代码示例
Employer.java
public class Employer { private String name; private String email; private String password; private Employees employees; private STP stp; // 跨包调用时需要添加public修饰符 public Employer(String name, String email, String password){ this.name = name; this.email = email; this.password = password; } }
Employers.java
import java.util.ArrayList; public class Employers { private ArrayList<Employer> employers = new ArrayList<Employer>(); // 示例1:在构造器中执行初始化添加 public Employers() { employers.add(new Employer("John Smith", "john.smith@example.com", "super123")); } // 示例2:封装单独的添加方法,可按需调用 public void addEmployer(String name, String email, String password) { employers.add(new Employer(name, email, password)); } }
内容的提问来源于stack exchange,提问作者Tarrmu
相关产品推荐
相关产品推荐

