将部分路径重用于具有相同名称的类的包

时间:2016-03-10 11:42:14

标签: java import

我有两个名字都叫Foo。一个在包ver_one中,另一个在包ver_two中。

显然我不能同时导入它们,所以我使用它们的完整类名。 问题是全名是com.org.oh.my.god.why.is.this.package.name.so.long.ver_one& ver_two,分别。

因此,如果我在代码中有一个我需要的点,它将如下所示:

 public com.org.oh.my.god.why.is.this.package.name.so.long.ver_one.Foo translate(com.org.oh.my.god.why.is.this.package.name.so.long.ver_two.Foo other) {
          return new com.org.oh.my.god.why.is.this.package.name.so.long.ver_one.Foo(other.getID());
    }

我希望在整个代码中不要重复这个。我总是可以导入其中一个,但它只是略好一点。 我更喜欢以下内容:

import com.org.oh.my.god.why.is.this.package.name.so.long.*;

public ver_one.Foo translate(ver_two.Foo other) {
      return new ver_one.Foo(other.getID());
}

在其他语言中,可以使用宏或类似的东西来完成。 无法在java中找到并行的东西。

1 个答案:

答案 0 :(得分:-1)

如果你正在使用像Eclipse这样的IDE,你可以选择自动组织你的导入,我建议你看看它,它是一个非常有用的功能,因为它会自动删除未使用的(不需要的)导入和广告你需要的。

另一个选择是使用星号“*”(或者它被称为):

com.org.oh.my.god.why.is.this.package.name.so.long.*

但是这将导入包内的所有类。

无论如何,你不应该创建2个同名的对象(类),它们大多可以被阻止。