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.)
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
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.
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é
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
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