当前位置: 首页 > 知识库问答 >
问题:

如何在使用List时解决classcastexception

柴良哲
2023-03-14
public AmountDetail getAmount(String accId) {
    Optional<Acc> acc = accRepository.findById(accId);
    if (acc.isPresent())
      // this is fine and it's response type is -> AmountDetail
      return fetchDetails(accId);
    else if (!acc.isPresent())
      // here I am getting error while hitting the API
      return (AmountDetail) getSoDetails(accId);
}

public List<Values> getSoDetails(String accId) {
    List<Values> val = ser.getDetails(accId)
}

Values.java

{
    private String acc;
    private String email;
}

AmountDetail.java

{
    private String fieId;
    private List<DetailsConsumer> cons;
}

当我在postman if子句中点击API时,它工作正常,但如果我想检查else,它会给出错误。我觉得铸造是这里的问题,但我不知道如何返回else块的值。

共有1个答案

索正豪
2023-03-14
 // here I am getting error while hitting the API
  return (AmountDetail) getSoDetails(accId);

为了编译这一行,getSoDetails(…)需要返回可以转换为AmountDetail的内容。

public List<Values> getSoDetails(String accId) {

getSoDetails(…)返回列表

List<Values> values = getSoDetails(accId);
return new AccountDetail(accId, values);

您调用getSoDetail(…),然后调用Account tDetail构造函数以返回正确的对象。我不确定accId是否是Account tDetail字段fieId的适当值,但您明白了。

 类似资料:
  • 问题内容: 我必须在我的Java应用程序中打印EST时间。我使用以下方法将时区设置为EST: 但是,当在该时区遵循夏令时时,我的代码将无法打印正确的时间(它可以少打印1小时)。 不管是否遵守夏令时,如何使代码始终读取正确的时间? PS:我尝试将时区设置为EDT,但不能解决问题。 问题答案: 这是开始的问题: 应该完全避免使用3个字母的缩写,而应使用TZDB区域ID。EST是东部标准时间- 标准时间

  • 当我试图用Docker构建PLC4X时,我获得了一个错误。我试图从Linux系统中构建它,并从虚拟机(托管在Windows机器中)中的Linux中构建它,在这两种情况下,我都获得了一个错误。 在Linux机器上,我得到了以下错误: 第20/36步:跑步/mvnw-P带有沙箱、boost、dotnet、python、代理和logstash com。2点起飞。专家插件:maven依赖插件:3.1.1。

  • 我正在为一个控制器方法编写一个单元测试,该方法接受一个和一个自定义对象。到目前为止,我可以看到MultipartFile是请求的正确格式,但MessageAttachment不是。 通过解析,会抛出服务器端500错误,其中包含。 这似乎是一个问题,在测试中转换到MockMultipartFile消息附件。这类似于这里显示的示例-https://stackoverflow.com/a/2180518

  • 问题内容: 我们无法对从.. 获得的集合执行或操作,仅允许进行remove操作。 因此,如果遇到需要在其中添加新元素而不删除其中的先前元素的情况,该怎么办?我该如何实现? 问题答案: 使用构造函数创建一个新的:

  • 问题内容: 已锁定 。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我对这种东西是陌生的,但是最近我已经听到很多关于Node.js有多出色的信息。考虑到我一般喜欢使用jQuery和JavaScript有多少,我不禁想知道如何决定何时使用Node.js。我想到的Web应用程序有点像Bitly-需要一些内容,然后将其存档。 从过去几天我所做的所有作业中,我获得

  • 我是新手,但最近我听到很多关于Node.js有多好的消息。考虑到总体上我是多么热爱使用jQuery和JavaScript,我不禁想知道如何决定何时使用Node.js。我心目中的web应用程序类似于Bitly-获取一些内容,并将其存档。 从过去几天我一直在做的所有作业中,我获得了以下信息。node.js 是一个命令行工具,可以作为常规web服务器运行,允许运行JavaScript程序 使用great