【问题标题】:How can I add an object to an arraylist of objects [closed]如何将对象添加到对象的arraylist [关闭]
【发布时间】:2016-01-21 03:41:38
【问题描述】:

目的是将团队添加到数组列表中。每个团队都是一个具有字符串名称、字符串除法、int 获胜和 int 损失的对象。

import java.util.ArrayList;
import java.util.Arrays;
public class Default 
{
     ArrayList<team> teams = new ArrayList<team>();
     team Mavericks = new team("Mavericks","Southwest",50,32);
     team Rockets = new team("Rockets","Southwest",56,26);
     team Grizzlies = new team("Memphis","Southwest",55,27);
     teams.add(team Mavericks);
     teams.add(team Rockets);
     teams.add(team Grizzlies);
}
class team
{
    String name, division;
    int win,loss;
    public team(String n,String d, int w, int l)
    {
        this.name = n;
        this.division = d;
        this.win = w;
        this.loss = l;
    }

}

【问题讨论】:

标签: java arraylist


【解决方案1】:

 teams.add(team Mavericks);
 teams.add(team Rockets);
 teams.add(team Grizzlies);

应该是

 teams.add(Mavericks);//here Mavericks is an object
 teams.add(Rockets);
 teams.add(Grizzlies);

【讨论】:

    【解决方案2】:

    您的代码存在多个问题:

    • class Default 中的所有内容都应该在方法中。可能您想在main() 中执行此操作。比如:

      public class Default
      {
          public static void main(String[] args){
            ArrayList<team> teams = new ArrayList<team>();
            team Mavericks = new team("Mavericks","Southwest",50,32);
            team Rockets = new team("Rockets","Southwest",56,26);
            team Grizzlies = new team("Memphis","Southwest",55,27);
            teams.add(team Mavericks);
            teams.add(team Rockets);
            teams.add(team Grizzlies);
          }
      }
      
    • teams.add(team Mavericks); 无法编译。您需要添加到Arraylist 喜欢:

      teams.add(Mavericks);
      teams.add(Rockets);
      teams.add(Grizzlies);
      
    • 根据java命名约定,team类应该命名为Team。变量名应为mavericksrocketsmemphis 而不是MavericksRocketsMemphis

    【讨论】:

      【解决方案3】:

      首先,您不能直接从类的主体中调用函数。你应该把它放在一个构造函数中,例如

      public class Default 
      {
           ArrayList<team> teams = new ArrayList<team>();
           team Mavericks = new team("Mavericks","Southwest",50,32);
           team Rockets = new team("Rockets","Southwest",56,26);
           team Grizzlies = new team("Memphis","Southwest",55,27);
           public void Default()
           {
               teams.add(team Mavericks);
               teams.add(team Rockets);
               teams.add(team Grizzlies);
           }
      }
      

      此外,您应该从对teams.add 的调用中删除team,因此它们变为:

      teams.add(Mavericks);
      teams.add(Rockets);
      teams.add(Grizzlies);
      

      我也会坚持 Java 风格,类名以大写字母开头,实例以小写字母开头,例如Maverick 应该变成 maverickteam 应该变成 Team。这会让其他人更清楚哪些标识符指的是类,哪些是实例。你可以在Code Conventions阅读更多关于它的信息。

      【讨论】:

        猜你喜欢
        • 2023-03-22
        • 2021-05-26
        • 2019-02-18
        • 1970-01-01
        • 1970-01-01
        • 2017-12-12
        相关资源
        最近更新 更多