有必要使用泛型ArrayList
吗?像这样:
ArrayList<Object> software=new ArrayList<Object>();
没有它我可以写吗?因为我想在其中添加对象时遇到问题。
我想做的是从框架中获取信息,然后创建对象并将其添加到tha arraylist
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);
}
}
}
从技术上讲,这是没有必要的,您可以创建一个没有类型的ArrayList并使一切正常。
话虽如此,您应该认为它是必要的,并且每当遇到不必键入它的情况时,您就可能在做错事。您可能应该研究多态性/继承性(http://en.wikipedia.org/wiki/Polymorphism_%28computer_science%29)或接口(http://docs.oracle.com/javase/tutorial/java/concepts/ interface.html),以便您可以在同一ArrayList中存储多种类型的对象。
您想要键入所有ArrayList的主要原因是,这样,当您尝试输入错误信息时,Java会告诉您。起初,您可能会认为这是导致问题的原因,并且使其停止对您大吼大叫总是比不编译要好。但是,实际上,如果Java向您大吼大叫,那么您做错了什么。
在您的情况下,似乎arrayList仅包含St_Sw对象。如果是这种情况,则需要使用以下方法创建ArrayList:
ArrayList<St_Sw> software=new ArrayList<St_Sw>();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句