Javaでパッケージをインポートして、このパッケージに特定の名前を付けることは可能ですか?
私は現在、バックエンドのDTOとサービスパッケージを使用するクラスを持っています。どちらのパッケージでも、DTOは同じ名前です。そして、これはかなり読みにくいと思います:
com.backend.mypackage.a.b.c.d.UserDto userBackend = new com.backend.mypackage.a.b.c.d.UserDto();
com.service.mypackage.a.b.c.d.UserDto userService = new com.service.mypackage.a.b.c.d.UserDto();
mapper(userBackend, userService);
これは小さな例です。クラスは実際には非常に複雑であり、その中にはより多くのコードがあります。
Javaはimport com.backend.mypackage.a.b.c.d.UserDto as userDtoBackend
ソースコードを短くできるので?
いいえ、「xをyとしてインポート」することはできません。 Javaで。
あなたができることは、クラスを拡張するか、そのためのラッパークラスを書き、代わりにそれをインポートすることです。
import com.backend.mypackage.a.b.c.UserDto;
public class ImportAlias {
static class UserDtoAlias extends com.backend.mypackage.a.b.c.d.UserDto {
}
public static void main(String[] args) {
UserDto userBackend = new UserDto();
UserDtoAlias userService = new UserDtoAlias();
mapper(userBackend, userService);
}
private static void mapper(UserDto userBackend, UserDtoAlias userService) {
// ...
}
}
Javaでこれを行う方法はありません。