我有两个名字都叫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中找到并行的东西。
答案 0 :(得分:-1)
如果你正在使用像Eclipse这样的IDE,你可以选择自动组织你的导入,我建议你看看它,它是一个非常有用的功能,因为它会自动删除未使用的(不需要的)导入和广告你需要的。
另一个选择是使用星号“*”(或者它被称为):
com.org.oh.my.god.why.is.this.package.name.so.long.*
但是这将导入包内的所有类。
无论如何,你不应该创建2个同名的对象(类),它们大多可以被阻止。