假设您要存储名称列表(字符串)
List listNames = new ArrayList();
listNames.add("Durgesh");//ok
但我也可以向它添加一个整数
listNames.add(5000);//storing int instead of string
现在这样做
String name2=listNames.get(1);//throws exception{int->string}
如果没有泛型,您可能会向集合添加无效类型,这可能会破坏您的代码。
使用泛型可以解决问题
List<String> listNames = new ArrayList();
listNames.add("Durgesh");
listNames.add(3000);//would through error at compile time
所以,泛型提供了类型安全
如果您打算添加任何类型的 Object。由于List<Object>
Object 参数,它将允许您添加任何类型的对象(字符串,int)。
如果x 可以转换为 y 或 y 可以转换为 x,List<x>
也不能被分配(=
),List<y>
反之亦然。它们都应该是 x 或 y,从而提供类型安全
因此,您将无法将( =
)分配List<String>
给,List<Object>
反之亦然..