【问题标题】:Java - having issues with ArrayListsJava - ArrayLists 有问题
【发布时间】:2013-11-09 23:49:45
【问题描述】:

如您所见,我有一个 StaffMember 类并试图创建一个 StaffMember 对象列表,但是当我将它们从列表中取出时,我得到了错误。可能是什么原因造成的(或者 java 列表与其他语言不同)。

【问题讨论】:

    标签: java arrays list arraylist


    【解决方案1】:

    由于您没有使用通用 List变量,编译器无法知道 List 包含什么类型的对象,因此您必须转换 @ 返回的对象987654322@ 方法到您认为的类型。

    更好的解决方案是将列表变量声明为通用List<StaffMember>

    public class StaffList {    
        private List<StaffMember> list;
    

    【讨论】:

    • “编程到‘接口’,而不是‘实现’。” (四人帮 1995:18)
    • @TristanCunningham:您仍然可以使用List 变量并为其分配ArrayList 对象,因为ArrayList 类实现了List 接口,实际上这是实现去做吧。
    • @TristanCunningham 虽然是better practice to use a List,但您可以将List&lt;StaffMember&gt; 切换为ArrayList&lt;StaffMember&gt;
    【解决方案2】:

    如果你这样做,我认为你的生活会更好:

    public class Staff {
        private List<StaffMember> roster;
    
        public Staff() {
            this.roster = new ArrayList<StaffMember>();
        }
    
        // add the rest
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-19
      • 2010-09-26
      • 1970-01-01
      • 1970-01-01
      • 2013-12-05
      • 2019-08-16
      • 2011-09-10
      相关资源
      最近更新 更多