Par exemple, la bibliothèque tierce partie utilise une structure de répertoire très complexe pour le package. Puis-je les importer à la fois. L'étoile semble ne peut que importer un seul niveau de répertoire. P>
8 Réponses :
En supposant que vous demandiez si vous pouvez faire ou non quelque chose comme: alors la réponse est Les JLS (section 7.5) Définit la structure des déclarations d'importation. P> En outre, il serait problématique que le compilateur d'importer une bande de packages à la fois. Si deux paquets fournissent le même type, les deux sont importés et que le type est utilisé dans la classe, une erreur de compilation se produit. Ceci est décrit dans JLS 6.5.5.1 : P > sinon, si un type de ce nom est
déclaré plus d'un
Déclaration de type-import-on-demande de
L'unité de compilation, alors le nom est
ambigu comme nom de type; une
Une erreur de compilation se produit. p>
blockQuote> p>
@Rob, cependant, de nombreuses classes de sous-packages sont délibérément nommées de manière à ne pas avoir de noms de classe en conflit. Serait génial s'ils autorisaient des deux astérisques dans les futures versions Java, par ex. a.b.c. ** code> pour importer tout dans a.b.c code>.
Comme vous l'avez indiqué dans Java, vous ne pouvez utiliser que l'importation «un niveau» utilisée par «*» p>
Le moyen plus efficace d'ouvrir Eclipse, une classe ouverte où les importations devraient être et appuyez sur: Ctrl + Maj + o :) - Nowatails Tous les IDE contribuent à organiser les importations p>
Je suggère fortement, car d'autres l'ont fait, que vous utilisez les "importations d'organisation" de votre IDE (la plupart des principaux ides Java le feront). P>
Aussi, je conseille contre l'utilisation "*" dans vos importations et la raison de cela est simple. À un moment donné, vous voudrez peut-être mettre à niveau une des bibliothèques que vous importez (ou le JDK) et vous risquez de vous retrouver avec des affrontements de noms en raison de nouvelles classes dans un paquet (ceci est particulièrement vrai pour les importations statiques). Ce n'est peut-être pas une grosse affaire si cela arrive à une classe dans votre projet actuel, mais si vous faites ce code dans une bibliothèque à un moment donné, cela pourrait être plus problématique que vous devrez recompiler cette classe après avoir ajusté les importations contradictoires. p>
(Oui, qui est arrivé à moi il n'y a pas si longtemps ... c'était une douleur que je devais chasser le code source de la bibliothèque pour reconstruire.) p>
Sauvegardez-vous des ennuis sur la route. : D p>
Comme dans le cas de JSPS, puis-je utiliser un fichier .inc pour importer toutes les classes requises des bibliothèques tierces dans une classe Java P>
Vous pouvez importer un seul niveau de répertoire. p>
Dans Intellij Ctrl + Alt + O Raccourci peut être utile pour: P>
Vous pouvez également ajuster les paramètres d'importation automatique sous "Paramètres → Editeur → Général → Importation automatique" P>
Pour l'utilisation de base que vous pouvez utiliser:
java.*;
Comme d'autres l'ont déjà dit, vous ne pouvez pas importer tous les paquets à la fois. Cependant, ce n'est pas comme la fin du monde. Si vous utilisez un bon IDE comme Intellij, il ajouterait automatiquement des instructions d'importation avec le nom de package approprié à votre code dès que vous écrivez le code qui utilise une classe / interface de ce package.
Il y a une autre façon si vous le souhaitez. importer tout à la fois. Ce n'est pas du tout recommandé mais l'astuce consiste à aller à Après cela, enregistrez le document et ouvrez-le dans un navigateur, vous verrez clairement les noms de packages sans aucune description. . Maintenant, vous pouvez simplement les copier-les coller et les donner en tant que saisie à un simple programme Java qui les convertit dans des relevés d'importation appropriés. P> Le résultat final est le suivant: P> com.sun.jarsigner
com.sun.java.accessibility.util
com.sun.jdi
com.sun.jdi.connect
com.sun.jdi.connect.spi
com.sun.jdi.event
com.sun.jdi.request
com.sun.management
com.sun.net.httpserver
com.sun.net.httpserver.spi
com.sun.nio.sctp
com.sun.security.auth
com.sun.security.auth.callback
com.sun.security.auth.login
com.sun.security.auth.module
com.sun.security.jgss
com.sun.source.doctree
com.sun.source.tree
com.sun.source.util
com.sun.tools.attach
com.sun.tools.attach.spi
com.sun.tools.javac
com.sun.tools.jconsole
java.applet
java.awt
java.awt.color
java.awt.datatransfer
java.awt.desktop
java.awt.dnd
java.awt.event
java.awt.font
java.awt.geom
java.awt.im
java.awt.im.spi
java.awt.image
java.awt.image.renderable
java.awt.print
java.beans
java.beans.beancontext
java.io
java.lang
java.lang.annotation
java.lang.constant
java.lang.instrument
java.lang.invoke
java.lang.management
java.lang.module
java.lang.ref
java.lang.reflect
java.math
java.net
java.net.http
java.net.spi
java.nio
java.nio.channels
java.nio.channels.spi
java.nio.charset
java.nio.charset.spi
java.nio.file
java.nio.file.attribute
java.nio.file.spi
java.rmi
java.rmi.activation
java.rmi.dgc
java.rmi.registry
java.rmi.server
java.security
java.security.acl
java.security.cert
java.security.interfaces
java.security.spec
java.sql
java.text
java.text.spi
java.time
java.time.chrono
java.time.format
java.time.temporal
java.time.zone
java.util
java.util.concurrent
java.util.concurrent.atomic
java.util.concurrent.locks
java.util.function
java.util.jar
java.util.logging
java.util.prefs
java.util.regex
java.util.spi
java.util.stream
java.util.zip
javax.accessibility
javax.annotation.processing
javax.crypto
javax.crypto.interfaces
javax.crypto.spec
javax.imageio
javax.imageio.event
javax.imageio.metadata
javax.imageio.plugins.bmp
javax.imageio.plugins.jpeg
javax.imageio.plugins.tiff
javax.imageio.spi
javax.imageio.stream
javax.lang.model
javax.lang.model.element
javax.lang.model.type
javax.lang.model.util
javax.management
javax.management.loading
javax.management.modelmbean
javax.management.monitor
javax.management.openmbean
javax.management.relation
javax.management.remote
javax.management.remote.rmi
javax.management.timer
javax.naming
javax.naming.directory
javax.naming.event
javax.naming.ldap
javax.naming.ldap.spi
javax.naming.spi
javax.net
javax.net.ssl
javax.print
javax.print.attribute
javax.print.attribute.standard
javax.print.event
javax.rmi.ssl
javax.script
javax.security.auth
javax.security.auth.callback
javax.security.auth.kerberos
javax.security.auth.login
javax.security.auth.spi
javax.security.auth.x500
javax.security.cert
javax.security.sasl
javax.smartcardio
javax.sound.midi
javax.sound.midi.spi
javax.sound.sampled
javax.sound.sampled.spi
javax.sql
javax.sql.rowset
javax.sql.rowset.serial
javax.sql.rowset.spi
javax.swing
javax.swing.border
javax.swing.colorchooser
javax.swing.event
javax.swing.filechooser
javax.swing.plaf
javax.swing.plaf.basic
javax.swing.plaf.metal
javax.swing.plaf.multi
javax.swing.plaf.nimbus
javax.swing.plaf.synth
javax.swing.table
javax.swing.text
javax.swing.text.html
javax.swing.text.html.parser
javax.swing.text.rtf
javax.swing.tree
javax.swing.undo
javax.tools
javax.transaction.xa
javax.xml
javax.xml.catalog
javax.xml.crypto
javax.xml.crypto.dom
javax.xml.crypto.dsig
javax.xml.crypto.dsig.dom
javax.xml.crypto.dsig.keyinfo
javax.xml.crypto.dsig.spec
javax.xml.datatype
javax.xml.namespace
javax.xml.parsers
javax.xml.stream
javax.xml.stream.events
javax.xml.stream.util
javax.xml.transform
javax.xml.transform.dom
javax.xml.transform.sax
javax.xml.transform.stax
javax.xml.transform.stream
javax.xml.validation
javax.xml.xpath
jdk.dynalink
jdk.dynalink.beans
jdk.dynalink.linker
jdk.dynalink.linker.support
jdk.dynalink.support
jdk.javadoc.doclet
jdk.jfr
jdk.jfr.consumer
jdk.jshell
jdk.jshell.execution
jdk.jshell.spi
jdk.jshell.tool
jdk.management.jfr
jdk.nashorn.api.scripting
jdk.nashorn.api.tree
jdk.net
jdk.nio
jdk.security.jarsigner
netscape.javascript
org.ietf.jgss
org.w3c.dom
org.w3c.dom.bootstrap
org.w3c.dom.css
org.w3c.dom.events
org.w3c.dom.html
org.w3c.dom.ls
org.w3c.dom.ranges
org.w3c.dom.stylesheets
org.w3c.dom.traversal
org.w3c.dom.views
org.w3c.dom.xpath
org.xml.sax
org.xml.sax.ext
org.xml.sax.helpers
Utilisez simplement quelque chose comme
p>
Import java.*
Pourquoi n'utilisez-vous pas un IDE comme Eclipse qui peut importer automatiquement tout ce dont vous avez besoin?
Minimiser les importations, idéalement uniquement pour les classes spécifiques dont vous avez besoin. Comme @wolph Notes, toute IDE décente le fera pour vous. Les importations excessives sont bruyantes et la source de problèmes d'observation des espaces de noms déroutants.
Juste pour surmonter la limite de caractères minimale: non.