Java パッケージインポートエイリアス [重複] 質問する

Java パッケージインポートエイリアス [重複] 質問する

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);

これは小さな例です。クラスは実際にはかなり複雑で、さらに多くのコードが含まれています。

import com.backend.mypackage.a.b.c.d.UserDto as userDtoBackendJava にはソース コードを短縮できるような機能がありますか?

ベストアンサー1

いいえ、Java では「import x as y;」は実行できません。

できることは、クラスを拡張するか、そのラッパー クラスを記述して、代わりにそれをインポートすることです。

import com.backend.mypackage.a.b.c.d.UserDto;

public class ImportAlias {
    static class UserDtoAlias extends com.service.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) {
        // ...
    }
}

おすすめ記事