java - ArrayList 是否需要使用泛型?

标签 java generics

ArrayList 必须使用泛型吗?像这样:

ArrayList<Object> software=new ArrayList<Object>();       

没有它我可以写吗?因为当我想向其中添加对象时遇到问题。

我尝试做的是从框架中获取信息,然后创建对象并将其添加到数组列表

class Listener implements ActionListener {
  public void actionPerformed(ActionEvent e) {
    ArrayList software= new ArrayList();

    String s = (String) major.getSelectedItem();

    if((e.getActionCommand()).equals("SAVE")){
      int st_id=Integer.parseInt(id.getText());
      String st_name=name.getText();
      String st_gender = (String) gender.getSelectedItem();
      String st_major = (String) major.getSelectedItem();
      String code1=code_sw1.getText();
      String code2=code_sw2.getText();
      String code3=code_sw3.getText();
      double mark1=Double.parseDouble(m_sw1.getText());
      double mark2=Double.parseDouble(m_sw2.getText());
      double mark3=Double.parseDouble(m_sw3.getText());
      St_Sw ob1=new St_Sw(st_id,st_name,st_gender,st_major,code1,code2,code3,mark1,mark2,mark3);
      software.add(ob1);
    }
  }
}

最佳答案

你的意思不是参数,而是泛型类型。您可以像这样创建原始列表:

List list = new ArrayList();

它会工作得很好,但是在 Java 中引入泛型的全部目的是“修复”原始列表。如果您存储的对象与 Object 不同,那么当您迭代列表并在每个元素上调用一个方法时,可能会出错。

关于java - ArrayList 是否需要使用泛型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27605615/

相关文章:

java - 我如何在 IntelliJ 的调试器中查看这个变量?

java - 与泛型和类作斗争

c# - 向 C# 列表索引器添加编译时安全性 - 这可能吗?

java - 如何使用 Selenium Webdriver 在 HTML 的上行查找类名

java - 包本地类的 Class literal 和 Class.forName 的不同行为

java - 用 Java 从文本文件生成 XML

java - 在Java中为堆栈结构创建动态数组

java - java中的递归序列化

java - 流中的通用检查收集java

Java泛型比较