【问题标题】:How to get all of the values instead of getting the first index in java?java - 如何获取所有值而不是获取java中的第一个索引?
【发布时间】:2019-06-26 14:23:54
【问题描述】:

我遇到的一个问题是,当我从结果中获得任何值的术语时(如下所示),结果并未显示我的所有剩余数组对象,如下面的架构所示。任何人都可以帮我在下面展示我的自定义架构吗?我只是得到第一个索引而不是我的三个值。谢谢您的帮助。

【问题讨论】:

  • 目前还不清楚你到底在问什么。
  • @Alan Hay。像我上面的架构一样返回。这就是我想要完成的方式。如果您不理解我的问题,请告诉我。
  • 这和stackoverflow.com/questions/56755855/…是同一个问题(尤其是原帖)。虽然它从未得到回答,也许那里的一些 cmets 会帮助你

标签: java


【解决方案1】:

我不确定是否完全理解这个问题。

但是如果你想得到所有结果而不是只有一个,你必须返回结果列表。实际上你只返回第一个元素。

线

return autoCompleteService.retrieveSalary(autocompleteValue).get(0);

应该是:

return autoCompleteService.retrieveSalary(autocompleteValue);

【讨论】:

  • 我知道。但是,我不希望那样回来。您能否在上面发布我的架构的地方查看我的代码:“架构(我想要完成的工作)”。这就是我想展示我的rateTypes的方式。
【解决方案2】:

你能补充更多细节吗?如果每小时、每周和每年没有直接映射到您的实体中的列(我在上面的代码中没有看到它们,所以假设它们不是)并且需要根据实体对象中的其他值进行计算,您将包括获取这些计算值的方法中的@transient 注释。

   @transient
    int getHourly(){
    // Logic to calculate hourly salary
    }
    @transient
    int getWeekly(){
    // Logic to calculate weekly salary
    }

【讨论】:

  • 嗯...我不认为这是我想要完成的方式。您是否在“架构(我想要完成的任务)”下检查了我上面的代码?这就是我想要完成的方式。像这样的数组列表。现在它只是获得第一个索引。
  • 你能解释一下自动完成和每年/每周/每小时之间的关系吗?是一对一的吗?那些是由 rate_type 列表示的吗?
  • 每个自动完成(这代表一个工作?)是否有 1 小时、1 周和 1 年属性?
  • 正确。是的,与年度相同。这是我的第一个索引。
  • @transient List<String> getHourly(){ String hourlySalary = // Logic to calculate hourly salary based on rate type return Arrays.asList(hourlySalary); } @transient List<String> getWeekly(){ String weeklySalary = // Logic to calculate weekly salary return Arrays.asList(weeklySalary); }
【解决方案3】:

根据聊天对话,正确的做法是规范化您的数据库表。如果这不是一个选择,您可以使用 Java Streams 转换结果集。 Similar example using Streams

无法提供仅基于 sn-ps 的工作代码。

【讨论】:

    猜你喜欢
    • 2014-06-29
    • 1970-01-01
    • 2017-09-06
    • 2011-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-09
    • 2016-08-20
    相关资源
    最近更新 更多