Java 如何使用ArrayList实现动态绑定<;T>;在爪哇?

Java 如何使用ArrayList实现动态绑定<;T>;在爪哇?,java,arrays,arraylist,dynamic-binding,Java,Arrays,Arraylist,Dynamic Binding,Java中的ArrayList似乎不支持动态绑定。当我尝试执行以下代码时,它给出了编译时错误。 代码: class Value { <some variables> <some methods> } class IntegerValue extends Value { int value; } class CharacterValue extends Value { char value; } class Main{ ArrayList<


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>();

    }
}
}
类值
{
}
类IntegerValue扩展值
{
int值;
}
类CharacterValue扩展值
{
字符值;
}
班长{
ArrayList值=null;
公共静态void main(字符串参数[])
{
swtich(参数[1])
{
案例“整数”:
值=新的ArrayList();
打破
大小写“字符”:
值=新的ArrayList();
打破
违约:
值=新的ArrayList();
}
}
}

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



提前谢谢。

动态绑定是什么意思?为什么要创建自己的包装器类呢?提示:搜索“协方差和泛型”,这会给您一些提示。简而言之,
List
不是
List
;如果您要通过
List
来“声明”一个
列表
,这将允许您向列表中添加任意
s。即使我已将IntegerValue声明为值的子类?@Dhwanit:Nope<代码>列表这真是太棒了路易斯!:)