我们可以为List <b>类型添加什么样的值?</b>

时间:2014-10-03 05:27:21

标签: java generics

Class A{
    public static void main(String args[])
    List<B> list=new ArrayList<B>();
    list.add("what type of value should we add here");
}

Class B{
    int a;
    boolean b;
    String c;
}

3 个答案:

答案 0 :(得分:2)

您可以添加:

  • 类型B
  • 的引用
  • 任何类的引用,它是B
  • 的子类
  • null

但是,如果从列表中获取引用,则其编译时类型将始终为B类型 - 即使运行时类型实际上是子类,或null。 / p>

答案 1 :(得分:1)

您只能添加B类型的对象

Class B{

    int a;
    boolean b;
    String c;

    public B(int a , boolean b , String C){

        this.a =a;
        this.b =b;
        this.c =c;
    }
}

B Badd = new B(2,true,"ADD");
list.add(Badd);

答案 2 :(得分:0)

您只能在其他单词Object中添加B的Object或其子类的Object,以满足obj instantof B的添加