java中的import语句顺序

时间:2011-10-12 05:30:41

标签: java import

只是要知道。订购import语句的正确方法是什么?还有哪些可读性?

  • 外部课程(如java.util.List),然后是内部课程 类。
  • 按字母顺序排列

提前致谢。

8 个答案:

答案 0 :(得分:11)

最常用,在大多数IDE中使用的是字母顺序,从域级别和完全限定的类名开始。

java.*javax.*优先,其余的都是有序的。

示例:

import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;

import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;

import org.apache.http.conn.ClientConnectionManager;
import org.apache.http.conn.scheme.Scheme;
import org.apache.http.conn.scheme.SchemeRegistry;
import org.apache.http.conn.ssl.SSLSocketFactory;
import org.apache.http.impl.client.DefaultHttpClient;

import com.neurologic.http.HttpClient;
import com.neurologic.http.impl.ApacheHttpClient;

答案 1 :(得分:11)

来自Java Programming Style Guidelines

  

import语句必须遵循package语句。进口   语句应该首先使用最基本的包进行排序,   并与相关的包组合在一起,一个空行   小组之间。

     

..... .....

     

导入语句位置由Java强制执行   语言。排序使得在那里浏览列表变得简单   是很多进口,它可以很容易地确定依赖性   当前包的分组通过折叠降低了复杂性   相关信息成为一个共同的单位。

请参阅Java Tutorial链接以获取更多信息。

答案 2 :(得分:5)

我不确定是否有标准。但像android这样的一些项目使用以下规则。

  1. 首先导入项目特定文件(android)
  2. 第二个是第三方文件和库。
  3. java标准api文件。
  4. 每组由一条额外的线分开。每个组都按字母顺序排列。

    AFAIK这些都是基于我们的偏好。

答案 3 :(得分:4)

我只使用我的IDE(Eclipse)实现的默认顺序......并定期运行“Tidy Imports”,以保持房屋秩序。

如果您自动执行此操作,可读性不是一个重要问题。无论是什么,您都会很快习惯任何自动订购。此外,人们往往不会读取进口。

答案 4 :(得分:3)

我更喜欢按字母顺序排列 - 这是最具可读性的,不是它......

答案 5 :(得分:1)

正如其他人所提到的,如果您使用的是像Eclipse或IntelliJ这样的IDE,可读性并不是太令人担忧,因为您开始相信组织是自动化且完美的。

如果您有多个具有相同名称的类可能通过.*表示法导入,那么顺序确实重要的一个区域就是定义优先级。

例如,假设您有java.util.Listorg.northpole.christmas.List可用,并且您指定了导入java.util.*org.northpole.christmas.*那么在这种情况下,java.util.*是有意义的高于org.northpole.christmas.*,因为如果我真的没有那么多关注而后来我正在阅读代码,我会认为Listjava.util.List而不是其他东西。这就是为什么,我相信,Eclipse首先是javajavax,然后是org.apache,然后是其他人。这些天我也在com.google的上方或下方org.apache

答案 6 :(得分:0)

我更喜欢这个:

1)第一组基于外部和内部API导入 2)按字母顺序在每个组内

答案 7 :(得分:0)

大多数IDE很好地完成了这项工作。只需右键单击并说出“组织进口”。