2013-02-05 22 views
0

可能重複:
Performance difference between a wild card import and the required class import
Implications importing java packages with wildcard進口java.util中之間java.util.XXXX差異*

我的QA領導成立了CheckStyle的規則,即java.util.*不能出現在源代碼中,請改爲使用java.util.XXX。例如,你可以只寫:

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 

但不允許:

import java.util.*; 

如果有人不遵守規則,QA團隊不會做集成測試。他告訴我,import java.util.XXX的風格比import java.util.*更清晰,並且使JVM運行得更快。它是真的嗎?

+2

它稍微清晰一些,但它肯定會**不**使JVM運行更快(導入在編譯時解決,而不是在運行時解決)。 –

+4

你的問號是驚人的...... – Juvanis

+1

*「使JVM運行更快」*該部分是不正確的。它隻影響編譯器。通過運行時,這些類將被單獨明確地識別出來。 –

回答

3

如果您包括java.util.*,那麼您在java.util包中包含中的所有類

如果包含java.util.classname,則只包含java.util包中的指定類。

使用java.util.*不會減慢JVM,因爲導入是在編譯時處理的,而不是運行時處理的。