Tenho uma dúvida quanto ao desempenho da instrução import, gostaria de saber se o uso do * causa alguma perda de performace no programa, para ser mais claro:
Qual código é mais eficiente para fazer uso da classe JOptionPane se eu usar:
import javax.swing.JOptionPane
ou se eu usar
import javax.swing.*
No segundo caso a instrução import vai carregar todas as classes do pacote swing de javax ou apenas as classes utilizadas no programa?
A instrução import do java serve para referenciar as Classes que voce está usando no seu codigo, o default é o pacote java.lang(String, Double, Float, etc).
Acredito que o fato de carregar pelo import com * nao vá fazer diferença significativa de desempenho.
Mas senao me ingano acontece o seguinte, com por exemplo “import javax.swing.*” ele deixa referenciado todo o pacote da API do java e nao carrega todas, apenas as que voce referencia dentro do codigo.
E usando “import javax.swing.JOptionPane” estara referenciando apenas a classe JOptionPane.
S
SchuenemannPJ
Na verdade, isso não carrega classes. É só para que você não precise digitar o nome completo.
Não é necessário nenhum import para que isso funcione:
A diferença é na legibilidade.
import javax.swing.JOptionPane --> Estou usando essa classe no código.
import javax.swing.* --> O que estou usando?
As principais IDEs organizar os imports automaticamente. No Eclipse, por exemplo, Ctrl + Shift + O inclui todas as classes utilizadas e remove as que não foram usadas.
Y
YuricPJ
O uso do import nomepacote.* não causa nenhuma perda de performance, mas o recomendável é utilizar um import para cada classe por uma questão de legibilidade.