0


看起来 Java 中的 ArrayList 不支持动态绑定。当我尝试执行以下代码时,它给出了编译时错误。
代码:

class Value
{
    <some variables>
    <some methods>
}

class IntegerValue extends Value
{
int value;
}

class CharacterValue extends Value
{
char value;   
}

class Main{

ArrayList<Value> values = null;
public static void main(String args[])
{
    swtich(args[1])
    {
        case "integer":
        values = new ArrayList<IntegerValue>();
        break;

        case "character":
        values = new ArrayList<CharacterValue>();
        break;

        default:
        values = new ArrayList<Value>();

    }
}
}


看起来 ArrayList 不支持动态绑定,但 Array 支持。当我执行 Value[] values = new IntegerValue[maxSize] 时,它确实是通过创建超类类型的引用来编译的。但是,如果我一开始不知道大小并且还想要数据结构的动态行为(类似于 ArrayList 可以做什么)怎么办?有没有其他方法可以实现这一目标?有没有其他的数据结构呢?


提前致谢。

4

0 回答 0