java中不可修改的函数参数

问题描述 投票:0回答:1

我是Java的新手,我遇到了这个问题:在C / C ++中,我们有const修饰符,该修饰符使函数参数Immutable,因此用户确信他们传递的参数不会改变。

但是我在Java中找不到相同的东西。确保final修饰符使该字段只能分配一次,并且在某种程度上可以正常工作。但是我需要在发送之前修改的对象呢?(我可以制作对象的最终副本,但是我觉得它不够好。如果我写错了,请纠正我)。那对象的字段呢?我们如何以对对象的完整性充满信心的方式传递对象?

java final
1个回答
1
投票

在Java中,不变性是该类型的固有属性。

例如String是不可变的。不需要constStringBuilderCharSequence可能是可变的。因此将需要一份副本。在这种情况下,请快速输入.toString()。将完成这项工作。

C ++默认为参数的隐式副本。在某种程度上,复制是不变性的更好版本。 const &是一种无需付费即可获取副本的有效方法。 (我敢肯定,很多人会强烈反对这一段。)

© www.soinside.com 2019 - 2024. All rights reserved.