java - 使用静态导入比导入有什么优势吗?

标签 java import static-import

考虑下面的类

public final class Constant {
  public static final String USER_NAME="user1";
  //more constant here
}

包B中的这个类。

现在我将在包A中使用它。考虑以下两种可以使用的方式。

方法1-使用import B.Constant

import B.Constant;

public class ValidateUser {
public static void main(String[] args) {
   if(Constant.USER_NAME.equals("user1")){

   }
  }
 }

方法2-使用import static B.Constant.USER_NAME;

import static B.Constant.USER_NAME;

public class ValidateUser {
public static void main(String[] args) {
   if(USER_NAME.equals("user1")){

   }
 }
}

我的问题是在这种情况下,正常导入与静态导入有什么区别或优势吗?

最佳答案

普通 importimport static 之间的唯一区别是后者用于移动某些其他类或接口(interface)的 static 成员— 尤其是 常量 — 进入范围。是否使用它取决于您;我喜欢它,因为它使类的主体更短,但 YMMV。

在它们编译成相同的字节码时,使用它们(除非可能在编译时,就好像你关心那样)没有性能优势或损失。

关于java - 使用静态导入比导入有什么优势吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18825640/

相关文章:

java - 获取数据库信息时出错?在 EclipseLink 中与 Oracle

python - 为什么 import * 不运行导入的代码?

java - 为什么同名静态方法的静态导入是合法的?

java - "static"后面的 "import"修饰符是什么意思?

java - 使用 maven 为库项目导出 jar 的正确方法是什么?

java - IBM MQ : Any way to get connection interruption notification?

java - 服务器套接字,多客户端,每个 1 行

python - 存储模块列表

objective-c - 导入语句错误 "expected "FILENAME“或 <FILENAME>”

java - Java 中的静态导入 Long.parseLong