0

调用返回值而不将返回值存储在变量中的函数是否可以?这是一些示例代码:

class Test
{ 
  int days[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

  boolean validity()
  { 
     //some code
     isLeap();
  }

  boolean isLeap(int y)
  {
       if(y%400==0 || (y%100!=0 && y%4==0))
       {
          days[1] = 29;             
          return true; 
       }
       else
       {
          days[1] = 28;         
          return false;
       }
  }
}
4

3 回答 3

4

是的,这是允许的。编译器不会抛出错误。但是在您的情况下,将处理器时间用于不必要的事情没有任何意义。

于 2013-02-10T19:10:21.423 回答
0

是的,这是允许的

在您的代码示例中,这不是很好的编码风格......一个名为 isLeap(xxx) 的函数正在更新数据。我认为大多数人不会期望在这样的函数中更新数据的副作用。
意外的副作用可能会导致一些令人讨厌的错误。

于 2013-02-10T21:08:39.373 回答
0

是的,您可以调用一个函数,但永远不要将该函数的返回值存储在 java 中。但这只会不必要地消耗处理时间。因为您不会通过首先声明您希望通过方法完成一些处理并返回最终输出来实现您想要实现的目标。如果你不存储它不会有任何用处。

于 2020-06-28T10:39:47.673 回答