1. List<String> list=new ArrayList<String>();
2. List<String> list=new ArrayList<>();
为什么像2这样写的也正确呢,后面的<>尖括号为啥不需要写类型?
2中方法都是对的。
1. List<String> list=new ArrayList<String>(); 只能保存字符串
2. List<String> list=new ArrayList<>(); 只能保存字符串,效果是一样的
因为 ArrayList<>()的底层是用泛型写的。
用T写的。
List<String> list=new ArrayList<>();
List<String>表示指定数据泛型,简单的说就是规定这个List里面只能装String类型数据而不能装其他整型什么的, 而new ArrayList<>(); 后面可以不指定这跟JDK版本有关,有些版本可以不指定表示和前面List泛型一样,可以不指定,如果指定其他类型和前面不一样就会报错。
您的问题已经有小伙伴解答了,请点击【采纳】按钮,采纳帮您提供解决思路的答案,给回答的人一些鼓励哦~~
ps:开通问答VIP,享受5次/月 有问必答服务,了解详情↓↓↓
【电脑端】戳>>> https://vip.csdn.net/askvip?utm_source=1146287632
【APP 】 戳>>> https://mall.csdn.net/item/52471?utm_source=1146287632