WEB前端程序开发让前端飞

用JS角度看Java,关于数组

2018-11-09  本文已影响28人  Beauty_Beast

很长时间没来简书了,说不上忙,却也不想写东西,不想学习;

只是最近突发奇想,想用java实现js数组——及用一个List对象去储存各种各样类型的数据。js是弱类型语言,其灵活的语法给开发带来了极大的便利。用对象字面量创建一个js数组,可以存放各种类型的 数据;

用js字面量定义的事故组

如果我想用java实现同样的效果怎么办?既然是一个数组对象,肯定得使用List对象,要在该List中存储不同类型得数据,那么泛型肯定不能是具体的某个类,所以泛型使用Objecct,所有Java类的父类。

List<Object>创建的java数组

但是用的真实场景,着实不多,至少到目前我还没遇到过,关于上述的实现方式,我想用List<?>,Java的无界通配符实现,却没能实现;使用List<?> list = new ArrayList<>();

只能用另一个List对象赋值给它,却不能直接使用list.add(object) 方法填充list,预编译检查都通不过,编译器认为add中的对象与<?>参数类型不匹配;但是却可以用另一个list赋值给List<?>定义的list;

如上就是实现一个存储任何数据类型的list,与js的array类似,不过java中这样的使用场景很少。此外,java泛型的功能实在强大,如果要详细了解的话建议读《Java编程思想》第十五章泛型。

上一篇 下一篇

猜你喜欢

热点阅读