是否有类似于“结果”的东西 - 在Delphi中也可以在Java中变量?

时间:2013-03-02 20:40:08

标签: java

使用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变量的东西,我只是不知道它?

2 个答案:

答案 0 :(得分: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编写最干净的有效等效代码。

答案 1 :(得分:1)

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

没有像Delphi的result伪变量那样的东西。