Java 数组出现问题,无法向其添加任何内容
我有一个母类用户和一个类,该类有一个用户数组作为atribute 在这个类中,我使用这个方法对ArrayList中的用户进行签名:Java 数组出现问题,无法向其添加任何内容,java,polymorphism,Java,Polymorphism,我有一个母类用户和一个类,该类有一个用户数组作为atribute 在这个类中,我使用这个方法对ArrayList中的用户进行签名: public Class UserArray extends User public static ArrayList<User> users = new ArrayList<User>(50); public static void signUser(User u) { for(User f: users) { i
public Class UserArray extends User
public static ArrayList<User> users = new ArrayList<User>(50);
public static void signUser(User u) {
for(User f: users) {
if(u.name.equals(f.name)) {
System.out.println("User already exists");
}
else {
users.add(u);
System.out.println("User signed");
}
}
}
主要是这样调用这个方法的:
Controller.signUser(user object);
也尝试了不使用static,但我无法使用sign方法,也没有出现任何错误,但我的数组用户的大小为0,我可以添加任何内容。您的代码:
吉特已经指出了你代码的问题,我只是想提供另一个可能的解决方案 可能的解决办法:
如果ifu.name.equalsf.name为true,我想您需要中断循环,而不是返回。中断循环以便添加两次相同的用户?
Controller.signUser(user object);
public Class UserArray extends User
public static ArrayList<User> users = new ArrayList<User>(50);
public static void signUser(User u) {
for(User f: users) {
if(u.name.equals(f.name)) {
System.out.println("User already exists");
}
else {
users.add(u);
System.out.println("User signed");
}
}
}
public static void signUser(User u) {
if(!users.isEmpty()){
for(User f: users) {
if(u.name.equals(f.name)) {
System.out.println("User already exists");
}
else {
users.add(u);
System.out.println("User signed");
}
}
} else{
users.add(u.name);
}
}
public static void signUser(User u) {
for(User f: users) {
if(u.name.equals(f.name)) {
System.out.println("User already exists");
return;
}
}
users.add(u);
System.out.println("User signed");
}