相关疑难解决方法(0)

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

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

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

更确切地说,我想要返回的两个对象是(a)List对象和(b)逗号分隔的对象.

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

不知何故,返回a HashMap看起来并不是一种非常优雅的方式.

java return

165
推荐指数
12
解决办法
21万
查看次数

如何从groovy中返回函数接受多个参数

我想从groovy中编写的函数返回多个值并接收它们,但是我收到了一个错误

class org.codehaus.groovy.ast.expr.ListExpression及其值'[a,b]',是一个坏表达式,作为赋值运算符的左侧

我的代码是

int a=10
int b=0
println "a is ${a} , b is ${b}"
[a,b]=f1(a)
println "a is NOW ${a} , b is NOW ${b}"

def f1(int x) {   
  return [a*10,a*20]
}
Run Code Online (Sandbox Code Playgroud)

groovy

54
推荐指数
3
解决办法
4万
查看次数

在C++和Java中只有一个返回值的原因是什么?

通常我会看一眼这个事实并接受它为"这就是轮子旋转的方式",但今天我想知道它来自何处:为什么一个函数只有一个返回(参考)值?

为什么不能,函数返回多个值会变得困难或不明智?是因为对象以及您应该如何期望始终以对象的引用形式返回数据包?

如果你看到一个声明函数作为一个契约,它说明了如何调用一个函数,它应该采用哪些参数,以及它具有哪种返回值类型,那么我没有看到背后的逻辑只有一个返回值,因为你可以申请相反的逻辑相反(因此创建了多个返回值的合约).

基于我可以看到的逻辑的唯一原因是,如果一个函数返回多于一个的东西,它还应该操作多于1个的东西超过1个原因,这违背了一个函数应该只做一件事的哲学.如果有一件事是操纵一个对象并返回另一个对象那么它就有意义了,你可以用操纵对象返回一个引用值.

那么为什么存在这种限制呢?

c++ java

30
推荐指数
6
解决办法
4766
查看次数

从Java方法返回元组

我写了一个java类:

public class Tuple<X, Y> { 
  public final X x; 
  public final Y y; 
  public Tuple(X x, Y y) { 
    this.x = x; 
    this.y = y; 
  } 
}
Run Code Online (Sandbox Code Playgroud)

但是当我创建这样的函数时:

public Tuple<boolean, String> getResult()
{
    try {
        if(something.equals(something2))
             return new Tuple(true, null);
    }
    catch (Exception e){
        return new Tuple(false, e.getMessage());
}
Run Code Online (Sandbox Code Playgroud)

但是,我收到以下编译错误:

unexpected type
  required: reference
  found:    boolean
Run Code Online (Sandbox Code Playgroud)

我可以做什么?

java tuples

8
推荐指数
1
解决办法
4528
查看次数

为什么Java方法不支持多个返回值?

在使用Java应用程序时,大多数时候我会感到一个问题:为什么Java不支持方法的多个返回值?

我知道设计Java的人一定已经考虑了这个主题,但是在思考自己的时候我没有得到任何答案或特定原因。

java oop methods return-value design-principles

6
推荐指数
1
解决办法
751
查看次数

Android - 从方法返回多个值

我正在从http连接中检索2个字符串.例如名称和描述,并将它们存储在2个不同的数组中.阵列将被我的另一类使用.我创建了两种搜索方法(searchName和searchDesc).一切都工作正常,但我想提高效率,因为我没有这样做.

我想在一个方法中创建一个连接,读取并将内容存储在它们各自的数组中并返回2个数组.

换句话说,我希望应用程序仅通过html代码创建一次连接/读取而不是两次(我当前的代码).我想要一个返回2个值的方法,而不是创建2个方法,每个方法只返回1个值.有可能吗?怎么样?

arrays methods android

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

java ×4

methods ×2

android ×1

arrays ×1

c++ ×1

design-principles ×1

groovy ×1

oop ×1

return ×1

return-value ×1

tuples ×1