【发布时间】:2018-06-12 12:01:54
【问题描述】:
我的代码有问题,我不太确定出了什么问题。
(请忽略方法名和类名。直到今天我才知道规则。)
我需要将一个 ArrayList 从一个类发送到另一个类。
这是我要将数组传递给的类。
public class AdminUserController implements Initializable {
UserData callClass = new UserData();
public void CreateUser(){
callClass.main();
out.println("Button Clicked");
ArrayTest(ArrayList <Users> myUsers);
}
public void ArrayTest(ArrayList <Users> myUsers){
for (int i = 0; i < myUsers.toArray().length; i++) {
if (myUsers.get(i) != null) {
for (Users aMyUsers : myUsers) {
if (aMyUsers != null) {
out.println("This should display 10 times");
}
}
}
}
}
此代码是孤立的,不是完整的程序。
CreateUser 是一个 JAVA FX 按钮(我不确定是否可以通过这种方式传递参数)
我认为尝试激活 ArrayTest 方法的问题。
它需要通过按下按钮来激活。
这里是ArrayList所在的类。
package BunnyCorp.Classes;
import BunnyCorp.Controllers.AdminUserController;
import java.util.ArrayList;
public class UserData{
public void main(){
ArrayList <Users> myUsers = new ArrayList<>();
Users myUsers0 = new Users(1000, "admin", "password", "N/A", " N/A", " N/A", "N/A", "N/A", "N/A", "N/A", "ADMIN");
Users myUsers1 = new Users(1001, "lecturer", "capitalism", "Adam", "Smith", "127 High St", "Kirkcaldy", "KY5D8F", "03069990552", "16/06/1723", "STAFF");
Users myUsers2 = new Users(1002, "president", "economics", "Ronald", "Reagan", "56 Bel-Air", "Los Caldy", "KY8BD2", "80865390552", "06/02/1911", "STAFF");
Users myUsers3 = new Users(1003, "engineer", "memeword", "Tim", "Berners-Lee", "15 Westwood Place", "London", "KY9WWW", "07700900262", "08/06/1955", "STAFF");
Users myUsers4 = new Users(1004, "polymath", "monalisa", "Leonardo", "da Vinci", "23 Via Mozza", "Florence", "FL9MLA", "07700900466", "15/04/1452", "MEMBER");
Users myUsers5 = new Users(1005, "theoryman", "sexyphysics", "Richard", "Feynman", "Trump Tower", "New York", "NY5JEA", "03069990552", "11/05/1918", "MEMBER");
Users myUsers6 = new Users(1006, "destroyerofworlds", "nuclearwar", "Julius Robert", "Oppenheimer", "20 Trinity Site", "New Mexico", "NKW194", "03069990828", "22/04/1904", "MEMBER");
Users myUsers7 = new Users(1007, "crashtest", "dummy", "Samuel", "Alderson", "11 Marina Dey Rey", "California", "MDR238", "03069990011", "21/10/1914", "CASUAL");
Users myUsers8 = new Users(1008, "Zucc", "dadada", "Mark", "Zuckerberg", "1456 Edgewood Drive", "California", "EWD238", "06505434800", "14/05/1984", "CASUAL");
Users myUsers9 = new Users(1009, "bigmoney", "money", "Bill", "Gates", "1835 73rd Ave", "Washington", "WSA039", "2067093140", "28/10/1955", "CASUAL");
myUsers.add(myUsers0);
myUsers.add(myUsers1);
myUsers.add(myUsers2);
myUsers.add(myUsers3);
myUsers.add(myUsers4);
myUsers.add(myUsers5);
myUsers.add(myUsers6);
myUsers.add(myUsers7);
myUsers.add(myUsers8);
myUsers.add(myUsers9);
AdminUserController UserCreator = new AdminUserController();
UserCreator.ArrayTest(myUsers);
}
}
我做错了吗?
我将不胜感激。我一直在网上寻找解决方案,但我一直在碰壁。
【问题讨论】:
-
ArrayTest(ArrayList <Users> myUsers);构造函数中的这一行是什么? -
你知道这段代码是递归的吧?你将继续进入构造函数..它会给你
StackOverflowException -
ArrayTest(ArrayList
myUsers);此行应替换为 ArrayTest(myUsers);其中 myUsers 是对象