多项选择题

在Java程序开发中使用泛型能够带来哪些好处?()

A.提高代码的可重用性
B.提高代码的可读性
C.在编译器进行类型检查,保证类型安全
D.以类型转换异常的形式保证类型安全