java - 在java中返回一个泛型而不强制转换它?
问题描述
我有一个这样的界面
public interface ClientBuilder <Client> {
Client build();
}
它被用在这样的功能中
private static Service createImpl(ClientBuilder clientBuilder) {
return new serviceImpl((x) clientBuilder.build());
}
有没有一种方法可以让我不必键入强制转换,这样我就可以删除(x)
? 这不是完全必要的,只是很高兴拥有
解决方案
是的。您ClientBuilder
在函数中进行泛型。而且,您应该遵循 Java 命名约定。serviceImpl
看起来像一个方法名(x
看起来像一个变量而不是类名)。但是使用你的名字,比如
private static Service createImpl(ClientBuilder<x> clientBuilder) {
return new serviceImpl(clientBuilder.build());
}
推荐阅读
- github - 在公共 gist 中保存 VS Code 设置
- javascript - 在 ionic reactjs 组件中返回一个对象数组
- django - 带有 save_m2m 的 int() 的 Django 无效文字
- javascript - 如何从卡片列表中删除卡片(使用 API 将 Github 用户信息提取到列表中显示的卡片上)?
- python - 在 apache 24 中部署 python 烧瓶应用程序
- python - 如何更新 Docker 镜像 (GitHub)
- javascript - 如何使用按钮单击触发搜索输入事件
- python - 复选框旁边的文本,python
- python-3.x - Tweepy 函数为给定的地理位置获取 0 条推文
- linux - 为什么 /etc/hosts 中的 0.0.0.0 可以阻止某个网站?