Por ejemplo, la biblioteca de terceros utiliza una estructura de directorios muy compleja para el paquete. ¿Puedo importarlos de una vez? la estrella parece que solo puede importar un nivel de directorio.Para Java, ¿puedo importar todos los paquetes a la vez?
Respuesta
Suponiendo que estás preguntando si es o no se puede hacer algo como:
import com.example.*;
// expecting packages like com.example.foo.* and com.example.bar.* to be imported
entonces la respuesta es no . La importación más amplia que puede hacer es un solo paquete con una estrella.
El JLS (sección 7.5) defines la estructura para los estados de importación.
Además, sería problemático para el compilador importar un montón de paquetes a la vez. Si dos paquetes proporcionan el mismo tipo, ambos se importan y el tipo se utiliza en la clase, se produce un error en tiempo de compilación. Esto se describe en JLS 6.5.5.1:
De lo contrario, si un tipo de ese nombre se declaró por más de un declaración de tipo-import-on-demand de la unidad de compilación, a continuación, el nombre es ambigua como una escribe un nombre; Se produce un error de tiempo de compilación .
+1, respuesta agradable y clara. –
@Rob, Sin embargo, muchas clases en subpaquetes se nombran a propósito de modo que no tengan nombres de clase conflictivos. Sería genial si permitieran el uso de asteriscos dobles en futuras versiones de Java, p. 'a.b.c. **' para importar todo dentro de 'a.b.c'. – Pacerier
Como usted ha señalado en Java sólo se puede usar la importación "un nivel" utilizado por "*"
La manera más eficaz es abrir Eclipse, clase abierta donde las importaciones deberían ser y pulse CTRL + SHIFT + O :) - hoy en día todos los IDE ayudan a organizar las importaciones
Sugiero encarecidamente, como han hecho otros, que use "organizar importaciones" desde su IDE (la mayoría de los principales IDE de Java lo harán).
Además, desaconsejo usar "*" en sus importaciones, y la razón de esto es simple. En algún momento, es posible que desee actualizar una de la biblioteca que importa (o el jdk) y puede terminar con conflictos de nombres debido a algunas clases nuevas en un paquete (esto es especialmente cierto para las importaciones estáticas). Puede que no sea gran cosa si eso le sucede a una clase dentro de su proyecto actual, pero si convierte ese código en una biblioteca en algún momento, podría ser más problemático ya que tendrá que recompilar esa clase después de ajustar las importaciones en conflicto.
(Sí, eso me sucedió no hace mucho tiempo ... Era un dolor ya que tuve que buscar abajo el código fuente de la biblioteca para la reconstrucción.)
ahorrar un poco de problemas en el camino. : D
como en el caso de las páginas JSP, puedo utilizar un archivo .inc para importar todas las clases requeridas de las bibliotecas 3 ª parte en una clase Java
Puede importar sólo un nivel de directorio.
En IntelliJ Ctrl + Alt + O atajo puede ser útil para:
- organizar las importaciones existentes
- eliminar las importaciones que no sean necesarios
- add necesidades de importación
También puede ajustar el auto -importe ajustes en "Configuración → Editor → General → Importación automática"
Fo r Uso básico Sólo se puede utilizar:
import java.*;
import javax.*;
* es para todos los
java.*;
todas las clases en el paquete java.
- 1. ¿Puedo importar desde múltiples paquetes todos a la vez en Scala?
- 2. ¿Cómo importar todos los submódulos?
- 3. Suite TestNG.xml para incluir todos los paquetes
- 4. ¿Cómo eliminar todos los alias de git a la vez?
- 5. Agregar todos los archivos no rastreados a la vez
- 6. makefiles - compila todos los archivos c a la vez
- 7. Comprobación de todos los valores de matriz a la vez
- 8. Java: programación determinar todos los nombres de los paquetes cargados en la ruta de clase
- 9. Instalación de paquetes R disponibles para todos los usuarios
- 10. Importar todos los módulos en un directorio
- 11. Haskell Cabal regenera la documentación de todos los paquetes instalados
- 12. ¿Cómo puedo eliminar todos los registros de un TClientDataset a la vez?
- 13. Guardar varios paquetes de Monticello a la vez
- 14. Agregar paquetes Java a GWT
- 15. ¿Cómo puedo documentar paquetes en Java?
- 16. Cómo capturar todos los paquetes HTTP usando tcpdump
- 17. Actualizar trayectorias de referencia para todos los proyectos en una solución a la vez
- 18. ¿Puedo establecer puntos de interrupción para todos los métodos en una clase a la vez en Visual Studio?
- 19. Manera pitónica de importar módulos de paquetes
- 20. Establecer la misma fuente para todos los componentes Java
- 21. Al escribir mi propio paquete R, parece que no puedo obtener otros paquetes para importar correctamente
- 22. ¿Alguna vez hay una razón para incluir la línea de shebang en los paquetes de Perl?
- 23. Java: acceso protegido en los paquetes
- 24. Asignación entre paquetes Oracle y paquetes Java
- 25. ¿Cómo importar la clase Java?
- 26. ¿Cómo actualizo todos los paquetes actualizables usando ppm?
- 27. Importación de paquetes en Java
- 28. ¿Los archivos .dll se cargan una vez para cada programa o una vez para todos los programas?
- 29. ¿Cómo expandir todos los nodos (o descendientes de los seleccionados) de un plist a la vez?
- 30. Scripts todos los procedimientos almacenados a la vez con la gota y crear
¿Por qué no utiliza un IDE como Eclipse que puede importar automáticamente todo lo que necesita? – Wolph
Minimice las importaciones, idealmente solo para las clases específicas que necesita. Como notas de @WoLpH, cualquier IDE decente hará esto por usted. Las importaciones excesivas son ruidosas y el origen de los problemas de sombreado del espacio de nombres confusos. – andersoj
Solo para superar el límite mínimo de caracteres: no. – biziclop