如何从数组创建多个Java对象实例?

时间:2013-04-13 16:14:27

标签: java

我正在尝试使用此方法创建“Sport”类的两个实例。该方法传入一个数组,该数组包含有关该类的信息,然后将该信息发送给要创建的构造函数。

但是,我不确定如何根据我的代码引用实例1或2。

public static void seperateValues(String sportDetail) {
  String[] sportDetails = sportDetail.split(",");
  System.out.println("Adding new sport to the Sport collection");
  System.out.println(sportDetail);
  /*
  for(int i=0; i<sportDetails.length; i++) //just used for testing whether it was splitting correctly {
    System.out.println(sportDetails[i]); 
  }*/
  //name,usagefee,insurance,affiliationfees, then court numbers
  //Tennis,44,10,93,10,11,12,13,14,15,16
  int vlength;
  vlength = sportDetail.length();
  new Sport(sportDetails); //this static methods loops twice, giving tennis and baseball
  System.out.println(name); //this lists tennis and baseball respectively
 }

2 个答案:

答案 0 :(得分:1)

如果你只是想参考两个运动实例,你可以这样做:

Sport sport1 = new Sport(sportDetails);
Sport sport2 = new Sport(sportDetails);

然后只需在您想要访问它们时调用sport1sport2,但是如果您想多次使用该方法进行n次运动,您可以执行以下操作: 首先更改separateValues()方法以返回一项运动,方法是更改​​以下几行:

public static void seperateValues(String sportDetail) {

public static Sport seperateValues(String sportDetail) {

在方法结束时,让它返回一项运动,如下所示:

Sport sport = new Sport(sportDetails);
return sport;

然后你可以在循环中调用方法并创建一个列表,这样你就可以创建所需数量的运动:

//First declare a list of sports:
List<Sport> sports = null;

for (int i = 0; i<asManySportsAsYouWantToAdd; i++){
sports.add(separateValues(sportDetail));
}

然后,要访问每项运动,您可以简单地使用:

sports.get(n); //Where n is place of the sport on the list

答案 1 :(得分:0)

假设你的原始字符串sportDetail是“网球,棒球”,然后变成2个术语的数组,例如sportDetails[0] = "tennis"sportDetails[1] = "baseball",然后在你的班级{{1你只需要引用它们就可以了。

换句话说,Sport