java中关于参数化类型
1个回答
展开全部
List
list
=
new
ArrayList();
这是未引入参数化类型时的写法,list集合中可以存储不同类型的元素,如此便有了安全隐患,编译器不能保证你取值时的转型(拆箱)一定正确。
jdk1.5引入了参数化类型(泛型)之后,写法变为。
List<类型(例如String)>
list
=
new
ArrayList<String>();
这样的话,list中只能存储String类型的元素,编译器在编译时便会验证list中的元素是否全为String类型,否则编译错误。如此一来便不存在安全隐患,读取数据时也不需要自己进行拆箱,编译器会判断其元素类型为String.
参数化类型就是一个编译器可以自动定制作用于特定类型上的类,简单的说就是,原本集合中用来处理的通用类型为Object,而使用了参数化类型后,编译器会自动的将Object参数的类型修改为你传递给它的参数化类型,例如此例运行时内存中list类中的Object属性,全被替换为String的。
关于泛型这块,还有不懂的地方你可以问我。
list
=
new
ArrayList();
这是未引入参数化类型时的写法,list集合中可以存储不同类型的元素,如此便有了安全隐患,编译器不能保证你取值时的转型(拆箱)一定正确。
jdk1.5引入了参数化类型(泛型)之后,写法变为。
List<类型(例如String)>
list
=
new
ArrayList<String>();
这样的话,list中只能存储String类型的元素,编译器在编译时便会验证list中的元素是否全为String类型,否则编译错误。如此一来便不存在安全隐患,读取数据时也不需要自己进行拆箱,编译器会判断其元素类型为String.
参数化类型就是一个编译器可以自动定制作用于特定类型上的类,简单的说就是,原本集合中用来处理的通用类型为Object,而使用了参数化类型后,编译器会自动的将Object参数的类型修改为你传递给它的参数化类型,例如此例运行时内存中list类中的Object属性,全被替换为String的。
关于泛型这块,还有不懂的地方你可以问我。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询