java - List与ArrayList
PHP中文网
PHP中文网 2017-04-18 09:42:00
0
5
477

List<Sting> list =new ArrayList<>();
和List<Sting> list =new ArrayList<String>();
两者有何区别?

PHP中文网
PHP中文网

认证高级PHP讲师

répondre à tous(5)
PHPzhong

Aucune différence. . Le type de données est spécifié lorsque List<String>.

JDK 1.7 propose une prise en charge supplémentaire de l'inférence de type.

Inférence de type améliorée pour la création d'instances génériques (diamant)

  类型推断是一个特殊的烦恼,下面的代码: 
     Map<String, List<String>> anagrams = new HashMap<String, List<String>>(); 

  通过类型推断后变成: 
     Map<String, List<String>> anagrams = new HashMap<>(); 
  这个<>被叫做diamond(钻石)运算符,这个运算符从引用的声明中推断类型。 
  
洪涛

Il n'y a aucune différence. À partir de jdk1.7, vous pouvez omettre la chaîne entre les crochets angulaires à droite.
(Le côté droit est déduit par le générique dans la déclaration, il n'est donc pas nécessaire.)

迷茫

Si vous l'avez exprimé

List<Sting> list =new ArrayList<>();
List<Sting> list =new ArrayList<String>();

Il n'y a aucune différence entre les deux. La ArrayList ci-dessus sera également automatiquement convertie en type générique de String. Le type de données auquel la liste peut accéder ne peut être que le type String. Et si votre première ligne de code est remplacée par

List list = new ArrayList();

Cela fait une grande différence. Le type de données accessible par la liste n'est pas fixe. Vous pouvez accéder aux types String, Integer et même Object.

阿神

Le premier doit être écrit après jdk1.7, sinon il y aura une erreur de compilation. Le dernier doit être écrit avant la 1.7. Bien sûr, il peut aussi être écrit comme ça après la 1.7

.
左手右手慢动作

Après jdk1.7, il n'y a aucune différence

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal