Différence entre importer java.util.* et java.util.XXXX [dupliquer]


Duplicata Possible:
Différence de performance entre une importation wild card et l'importation de classe requise
Implications importation de paquets java avec caractère générique

Mon responsable QA a mis en place une règle checkstyle qui java.util.* ne peut pas apparaître dans le code source, utilisez java.util.XXX à la place. Par exemple, vous ne pouvez écrire que:

import java.util.Date;
import java.util.List;
import java.util.Collection;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
// ... may be thousands import statement here 

Mais non autorisé:

import java.util.*;

Si quelqu'un ne suit pas la règle, l'équipe d'assurance qualité ne fera pas l'intégration test. Il m'a dit que le style de import java.util.XXX est plus clair que import java.util.* et rend la JVM plus rapide. Est-il vrai ?

Author: Community, 2013-02-05

1 answers

Si vous incluez java.util.*, vous êtes, y compris toutes les classes dans le java.util package.

Lorsque vous incluez java.util.classname, vous incluez uniquement la classe spécifiée dans le package java.util.

L'utilisation de java.util.* ne ralentira pas la JVM car les importations sont gérées au moment de la compilation, pas à l'exécution.

 3
Author: Zach Latta, 2013-02-05 08:06:25