java - 具有相同类型擦除解决方法的方法,无需重命名方法名称
问题描述
在不重命名方法的情况下,绕过这种类型擦除的最佳方法是什么:
GetResultSet<Entity> getEntities(String entityType, Map<String,PropertyCondition> propertyConditions);
GetResultSet<Entity> getEntities(String entityType, Map<String, BlobCondition> blobConditions);
解决方案
最好的方法是重命名方法。
您还可以用专用子类替换映射来描述过滤器选项(因为它们的类型不会被删除):
class PropertyConditions { Map<String, PropertyCondition> conditions }
GetResultSet<Entity> getEntities(String entityType, PropertyConditions propertyConditions);
如果您想要混淆解决方法,您还可以通过切换参数的顺序或引入虚拟参数来消除参数签名的歧义。
推荐阅读
- javascript - 历史 API 空状态
- python - 与段字形关联时,悬停工具不显示工具提示
- r - 按存储在向量中的列名过滤数据帧
- android - 我已经配对的蓝牙设备是否必须处于可发现模式才能扫描和查看?
- transactions - 跨服务事务或原子性
- javascript - 使用 jQuery 替换 HTML 元素内的文本
- ios - 新创建的自动续订订阅无法完成 iOS 应用内购买
- python - Python:抓取分类网站。如何仅返回上次运行的最新条目?
- spring - 使用spring webflux功能对图像的请求保持暂停
- amazon-s3 - rundeck s3 日志插件未将日志加载到 s3