java中的list map set中能存放不同数据类型的元素吗

比如一个相同的list实例中能放多中数据类型的元素吗
2025-01-07 00:12:08
推荐回答(5个)
回答1:

  • 可以。用事实说话,已测试。如下。涉及到的数据类型 String、int、double、boolean

import java.util.ArrayList;import java.util.List;

public class Test {

 @SuppressWarnings("unchecked")

 public static void main(String[] args) {

  List l = new ArrayList();

  l.add(0, "\"");

  l.add(1, 1);

  l.add(2," + ");

  l.add(3,2.0);

  l.add(4," == ");

  l.add(5,3);

  l.add(6, "\"");

  l.add(7," is ");

  l.add(8,true);

 

  System.out.print("Though 1 + 2.0 =  ");

  System.out.println(1+2.0);

  if(1 + 2.0 == 3)

  for(int i=0 ; i

  System.out.print(l.get(i));

  }

 }

}

 

运行结果:

Though 1 + 2.0 =  3.0 

"1 + 2.0 == 3" is true

回答2:

相当可以,list里面实际上存放的是Object类型,所以随便放,就算你加了泛型的限定了,你也可以往里放,通过反射,想放什么放什么,集合中的泛型是给编译器看的,过了编译阶段,泛型就不存在了,所以里面的还是接受object类型.如果你放基本数据类型,比如int 会被包装成Integer 不过一样,有自动拆箱装箱.

回答3:

只要你不给它定义泛型,就可以

回答4:

可以,不指定泛型类型就可以

回答5:

可以