在java中我将哪些参数传递给方法有关系吗?例如,我有一些验证方法。假设我有一个Person
保存个人信息的类和另一个类中的一个方法来验证电子邮件收件人。在Controller
我使用Person
和Validator
类的课堂上,我应该传递整个person
对象,还是应该只传递带有 email 的 String person.getEmail()
。在第一个选项中,该Person.validateEmail(Person person)
方法可以调用person.getEmail()
. 那么,传递的参数有多“大”有关系吗?我的意思是内存/ CPU。
问问题
209 次
3 回答
4
不,没关系,因为您传递的只是对相关对象的引用。有关详细信息,请参阅此问题和答案。
一个例外是当方法调用是远程的时,整个对象图必须被序列化。这需要的时间取决于字段的数量和数据量。
于 2013-06-06T11:20:18.813 回答
0
当java
您传递 的整个对象时Person
,您只需传递该对象的地址。所以,这样做你不是在处理整个对象,只是它的引用。
在这种情况下,就性能而言,你将传递什么并不重要:单个电子邮件地址或person
包含该电子邮件的对象。
另一方面,这取决于您将来如何使用该方法。如果这个方法是某种utility
方法,它对抽象的电子邮件做一些事情,那么通过String
电子邮件只传递参数将是一个很好的接口解决方案。
于 2013-06-06T11:19:31.637 回答
0
Java 传递参数作为按值调用,而不是按引用调用。所以在对象的情况下,它只传递人员类的地址值。
于 2013-06-06T11:58:45.340 回答