java中的传递参数优化

h6my8fg2  于 2021-06-30  发布在  Java
关注(0)|答案(3)|浏览(402)

在java中,传递给方法的参数有什么关系吗?例如,我有一些验证方法。假设我有课 Person 在另一个类中保存个人信息和验证电子邮件收件人的方法。在我的 Controller 同学们,我在哪里使用 Person 以及 Validator 上课,我应该通过全部考试吗 person 对象,还是我应该只传递电子邮件中的字符串 person.getEmail() . 在第一个选项中 Person.validateEmail(Person person) 方法可以调用 person.getEmail() . 那么,传递的参数有多大有关系吗?我是说在内存/cpu方面。

00jrzges

00jrzges1#

java将参数传递为按值调用,而不是按引用调用。所以在对象的情况下,它只传递person类的地址值。

k5ifujac

k5ifujac2#

不,这无关紧要,因为您传递的只是对所讨论对象的引用。详见本问答。
一个例外是,如果方法调用是远程的,则必须序列化整个对象图。所需时间取决于字段的数量和数据量。

ux6nzvsh

ux6nzvsh3#

java 当你经过整个 Person ,您只需传递该对象的地址。所以,这样做并不是处理整个对象,而是处理它的引用。
在这种情况下,就性能而言,你将通过什么并不重要:单个电子邮件地址或 person 对象,其中包含该电子邮件。
另一方面,这取决于你将来如何使用这种方法。如果这个方法是某种 utility 方法,它用一个抽象的电子邮件做一些事情,所以只传入它将是一个很好的接口解决方案 String 电子邮件的参数。

相关问题