当前位置: 首页 > 面试题库 >

如何从Java方法返回多个对象?

慕容齐智
2023-03-14
问题内容

我想从Java方法返回两个对象,并且想知道这样做的好方法是什么?

我能想到的可能的方法是:回报HashMap(因为这两个对象是相关的),或者返回ArrayListObject对象。

更准确地说,我要返回的两个对象是(a)List对象和(b)相同名称的逗号分隔。

我想从一个方法返回这两个对象,因为我不想遍历对象列表以获得逗号分隔的名称(我可以在此方法的同一循环中执行此操作)。

不知何故,返回a HashMap看起来不是很优雅的方式。


问题答案:

如果要返回两个对象,通常需要返回一个封装了两个对象的单个对象。

你可以返回这样的NamedObject对象列表:

public class NamedObject<T> {
  public final String name;
  public final T object;

  public NamedObject(String name, T object) {
    this.name = name;
    this.object = object;
  }
}

然后,你可以轻松返回List<NamedObject<WhateverTypeYouWant>>

另外:为什么要返回逗号分隔的名称列表而不是List ?或者更好的方法是,返回 a Map<String,TheObjectType>,键为对象的名称和值(除非你的对象指定了顺序,在这种情况下,a NavigableMap可能就是你想要的)。



 类似资料:
  • 问题内容: 我试图从Java方法返回2个值,但出现这些错误。这是我的代码: 错误: Java结果:1 问题答案: 不要返回包含两个值的数组或使用泛型Pair类,而应考虑创建一个代表要返回的结果的类,然后返回该类的实例。给班级起一个有意义的名字。与使用数组相比,此方法的好处是类型安全,这将使你的程序更易于理解。 注意:通用类,如此处其他一些答案中所建议,也可以为你提供类型安全性,但不会传达结果表示的

  • 问题内容: 在Java中是否可以从方法返回两个或多个值到main?如果是这样,有可能吗?如果没有,我们怎么办? 问题答案: 你可以使用Java返回Class的对象。 如果要返回多个相关的值,则将它们封装到一个类中,然后返回该类的对象是有意义的。 如果要返回不相关的值,则可以使用Java的内置容器类(例如Map,List,Set等)。有关更多详细信息,请检查java.util包的JavaDoc。

  • 如标题所述,我正在尝试从int类型的方法()返回多个整数。该方法旨在接受整数数组并确定模式。另一个问题是索引中的每个值的范围为1-3。我无法创建对象、其他方法来处理部分解决方案或导入任何帮助我的东西。 我遇到的问题是如果数组中有多个模式 即 如您所见,在本例中有两种模式,分别是2和3,我不知道如何从一个方法返回多个整数。 这是我教授的指示“ “编写方法int mode(int[]a)。此函数采用一

  • 问题内容: 我正在使用jsp和servlet构建Web应用程序,我从jsp发送ajax请求,我想从servlet返回两个json对象。我尝试执行以下操作,但是代码不起作用。 //在jquery中,我编写了这段代码 //在servlet中,我编写了此代码 有人能帮我吗??? 问题答案: 您应该这样做: 服务器端: 客户端: 希望这可以帮助。干杯

  • 问题内容: 为什么没有(标准的,Java认证的)解决方案作为Java语言本身的一部分从Java方法返回多个值,而不是让开发人员不得不使用自己的方法(例如Maps,Lists,Pairs等) 。?为什么Java不支持n元组对象? 尤其要考虑一些琐碎的私有方法,这些方法可以一起修改两个对象(一前一后),在这种情况下,作为返回的类型化对象听起来过于杀伤力。 问题答案: 我假设OP的意思是“为什么Java

  • 问题内容: 如何从Java Servlet返回JSON对象。 以前,当使用servlet执行AJAX时,我返回了一个字符串。是否有需要使用的JSON对象类型,或者你只是返回了一个看起来像JSON对象的String,例如 问题答案: 我完全按照你的建议去做(返回a )。 不过,你可能会考虑将MIME类型设置为指示你正在返回JSON(根据其他stackoverflow文章,其为“ applicatio