0

在使用 Delphi 时,我真正喜欢的一件事是result函数有一个变量。Delphi 函数结束如下:

result:="My Result";

结果变量的数据类型是函数的返回类型。不需要额外的代码。现在,当我用 Java 写东西时,它大部分时间看起来像这样:

function List<Foo> myFunc(){
  List<Foo> myResultVar = new ArrayList<>();
  //--now i do some clever stuff--
  return myResultVar;
}

如您所见,与 Delphi 相比,至少当您必须编写的不仅仅是单行代码时,它的样板代码更多。有没有可以与 Java中的变量相媲美的东西result,我只是不知道吗?

4

2 回答 2

2

不,没有那样的。在 Java 中表示返回什么的唯一方法是使用return语句。

在你的代码中,你为什么不只myResultVar在你真正知道要返回的值的地方声明呢?或者,如果您决定在各种不同的分支中,声明变量而不给它一个初始值:

int result;
if (something) {
   // Do some work...
   result = foo();
} else {
   // Do some other work...
   result = bar();
}
// Do some post work...
return result;

如果在那之后您不需要做任何事情,那么无论如何都立即返回......如果您可以给出一些代码的具体示例,您真的认为拥有一个特殊变量会使代码变得更加简单,我们可以尝试用 Java 编写最干净有效的等效代码。

于 2013-03-02T20:41:52.393 回答
1

不,Java 编程语言的语法源自 C 语言的语法,而 Delphi 源自 Pascal。

没有什么比得上德尔福的result伪变量了。

于 2013-03-02T20:42:37.397 回答