java 泛型理解

    public static ArrayList<String> handle(ArrayList<String> data){

这里的<String>泛型设计 也就是说,可以是任何类型?

阅读 1.5k
2 个回答

规定了存取的都只能是 String。

当你试图:

ArrayList<String> list = new ArrayList<String>();

// 存
int num1 = 0;
list.add(num1);

// 取
int num2 = list.get(0);

编译器就会报错。


如果你是初学者,请忽略我下面写的话,否则会造成干扰,学起来就更懵逼了。

Java 的泛型是伪泛型,编译时会做类型擦除。也就是最后存取的还都是 Object,啥类型约束也都没了。所谓泛型的类型安全也只是在编译时检查,运行时就没了。所以你要是通过反射等方式存取其他类型的对象,在运行时也是可以的。

<>中间是什么类型就只能填入什么类型

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题