繁体   English   中英

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

[英]How do I create multiple Java object instances from an array?

我正在尝试获取此方法来创建类“ 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
 }

如果您只想引用运动的两个实例,则只需执行以下操作:

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

然后,当您要访问它们时,只需简单地调用sport1sport2 ,但是,如果要对n个运动使用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

假设原始字符串sportDetail是“ tennis,baseball”,然后将其转换为2个术语的数组,例如sportDetails[0] = "tennis"sportDetails[1] = "baseball" ,那么在Sport类中,您只需要照这样引用它们。

换句话说, sportDetails[0]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM