【问题标题】:Shoud I use final keywords of method params in Java? [duplicate]我应该在 Java 中使用方法参数的最终关键字吗? [复制]
【发布时间】:2021-10-08 09:35:26
【问题描述】:

我看了几个问题,例如In Java, should I use “final” for parameters and locals even when I don't have to? 在 SO 上,阅读建议和答案后我有点困惑。

在我正在做的项目中,方法中的方法参数有很多final关键字,接口如下图:

界面:

MenuDTO findMenu(final UUID menuUuid);

实施:

@Override
public MenuDTO findMenu(final UUID menuUuid) {

}

据我所知,如上所示对方法参数使用 final 关键字是没有意义的。那么,我应该从接口方法及其实现中删除final 关键字吗?

【问题讨论】:

  • @Unknown 不,实际上不是 Amigo。因为每个人说的都不一样,所以我很困惑。因此,您可以请不要结束问题,而不是结束问题。在结束问题后有时间阅读问题。
  • 我没有结束这个问题。但是我已经标记了与上述问题相似的问题。如果要确保变量始终指向同一个对象,请将变量标记为 final。 final 用于方法参数中,使引用在传入方法后不可更改。
  • 好的,谢谢您的信息。

标签: java spring final access-modifiers primitive


【解决方案1】:

我也认为在 Java 中使用 final in 参数没有任何意义。最终意味着您不能将值重新分配给变量。由于该值是参数,因此您无论如何都无法重新分配。在我看来,final 的这种写作风格来自在 Java 之前使用 C++ 的人。

【讨论】:

  • 你说得对,我的意思是你不能改变方法外变量的值(这应该是主要焦点,而不是修改程序的其余部分),但如果你不想改变变量 insede 方法的值,最后会工作
猜你喜欢
  • 2015-06-24
  • 2010-10-04
  • 1970-01-01
  • 2014-08-18
  • 2017-01-18
  • 2019-10-11
  • 2010-10-10
  • 1970-01-01
  • 2011-11-26
相关资源
最近更新 更多