【问题标题】:Creating an array of a custom class创建自定义类的数组
【发布时间】:2021-01-07 07:54:34
【问题描述】:

问题已解决,不再需要

【问题讨论】:

    标签: java class


    【解决方案1】:

    替换

    (ObjectContainer[]) new Object[initialCapacity];
    

    通过

    new ObjectContainer[initialCapacity];
    

    因为Object 不能转换为ObjectContainer

    编辑 1: 使用提供的类,以下代码会编译

    public class Main {
    
        public static void main (String args[]) {
            ObjectContainer[] containers = new ObjectContainer[3];
        }
    }
    
    class ObjectContainer extends Object {
        String object;
    
        private ObjectContainer(String object) {
            this.object = object;
        }
    }
    

    编辑 2: 以下代码确实编译

    public class Main {
    
        public static void main (String args[]) {
            ObjectContainer[] containers = new ObjectContainer[3];
        }
    }
    
    class ObjectContainer extends Object {
        String object;
    
        private ObjectContainer(String object) {
            this.object = object;
        }
    }
    
    interface MultiSet<T> {}
    class LinkedMultiHashSet<T> implements MultiSet<T>, Iterable<T> {
        private ObjectContainer hashTable[];
        public LinkedMultiHashSet(int initialCapacity) {
            hashTable = new ObjectContainer[initialCapacity];
        }
    
        @Override
        public Iterator<T> iterator() {
            return null;
        }
    }
    

    【讨论】:

    • 我已经尝试过了,但它给了我一个错误“通用数组创建”并且不允许我执行该操作
    • 我认为该帖子可能会回答:stackoverflow.com/questions/3865946/…
    • 帖子告诉我将一个对象投射到 ObjectContainer 中,这导致我之前列出的原始错误
    • 您应该提供 ObjectContainer 类(或提供该类的库)
    • 您应该在初始化期间指定菱形运算符的类型。帖子中没有ObjectContainer 类,很难确定问题的根源
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-20
    • 2017-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-09
    • 1970-01-01
    相关资源
    最近更新 更多