java - 如果有多种可能性,我应该分配什么类型?

标签 java rest spring-boot generics reflection

我有两个类A类B类。我做了一个查询,比如repository.findById。此查询可能返回类型 A 或类型 B 的输出。

现在,B 类拥有 A 类中的所有字段以及一些附加字段。

我知道我可以这样写:

B res = repository.findById;

但是这样写可能会产生误导,因为 A 类和 B 类在概念上非常不同。

所以基本上问题是

? res =repository.findById;

其中可以是A或B。

我该如何解决这个问题?

最佳答案

这听起来像是您想要两个类都实现的基接口(interface)。

并注意:从纯粹的 OOP 角度来看,您的陈述

Now, class B has all the fields which are in class A and some additional fields.

as Class A and B are conceptually very different

提出危险信号。当它们在概念上如此不同时,为什么它们会有(并暴露?!)这么多相似的字段?!

关于java - 如果有多种可能性,我应该分配什么类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54513630/

相关文章:

spring-boot - Spring Boot 2 Security 登录时下载字体文件

rest - 设计一个 REST API,其中搜索请求可以采用多个查询的参数

Java MongoDB 类 NotFoundException : org. springframework.data.convert.CollectionFactory

c# - 返回带有对象名称的 Json 格式的数据

java - Java语言的Android EMI计算器: Not resulting correct as Math. pow给出了非常大的数字

java - 如何让 Spring Restful 服务与 SSL 一起工作?

rest - 功能测试:通过Grails中的REST API上传文件

spring - 如何使用 Spring JPA 仅获取实体的选定属性?

java - 升级 IntelliJ 后 Play Framework 中的 Controller 出现 InstantiationException

java - 如何绘制箭头(在 Android 中)?