java - 传递参数的最佳实践

标签 java methods

假设我有一个包含大约 10 个字段的应用程序类。在其他一些实用程序类中,我有以下两种方法之一。这两个中哪个最好用? 是传入整个应用程序对象更好,还是只传入实用方法所需的对象?请解释原因。

public printUsernameAndGroup(String username, String group){
    sout(username);
    sout(group);
}

public printUsernameAndGroup(Application application){
    sout(application.username);
    sout(application.group);
}

最佳答案

关于性能,他们两个是一样的。如果您将函数实现为

public printUsernameAndGroup(String username, String group){
    sout(username);
    sout(group);
}

在调用该函数之前,您将访问对象的用户名和组属性。此外,当您将其实现为

public printUsernameAndGroup(Application application){
    sout(application.username);
    sout(application.group);
}

您只是传递该对象引用的副本,而不是复制所有 10 个字段,并再次访问它的两个属性。

但如果考虑易用性,第二个会更友好。

关于java - 传递参数的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40603252/

相关文章:

java - 从服务器端(Java)向 Facebook 用户发送消息

java - java中指向函数的指针

java - java中的列名无效,但适用于数据库

java - 在 Java 中调用方法与在 Objective-C 中向对象发送消息相同吗?

ruby-on-rails - 替换 Ruby on Rails 3.1 中的 'auto_link' 方法

java - 理解java RMI的exportObject方法

java - 如何在 Servlet doPOst 上使用 JSP?

java - 无法为 boolean 方法选择正确的形式参数

java - 通过字符串中的名称从组件调用方法

c++ - 防止两种方法共享相同的代码?