Java 包导入别名
Java Package Import Alias
是否可以在 Java 中导入包并为该包导入指定名称?
我目前有一个 class,它使用来自后端的一些 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);
这是一个小例子。 class 实际上很复杂,里面有很多代码。
Java 是否有类似 import com.backend.mypackage.a.b.c.d.UserDto as userDtoBackend
的内容以便我可以缩短我的源代码?
在 Java 中无法执行此操作。
不,您不能执行“将 x 导入为 y;”在 Java.
您可以做的是扩展 class,或者为它写一个包装器 class,然后导入那个。
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) {
// ...
}
}
是否可以在 Java 中导入包并为该包导入指定名称?
我目前有一个 class,它使用来自后端的一些 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);
这是一个小例子。 class 实际上很复杂,里面有很多代码。
Java 是否有类似 import com.backend.mypackage.a.b.c.d.UserDto as userDtoBackend
的内容以便我可以缩短我的源代码?
在 Java 中无法执行此操作。
不,您不能执行“将 x 导入为 y;”在 Java.
您可以做的是扩展 class,或者为它写一个包装器 class,然后导入那个。
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) {
// ...
}
}