什么更有效:类对象或Object [](对象数组)?

时间:2015-11-16 19:18:08

标签: java performance coding-efficiency

我不确定传输数据的类对象是否比对象数组更有效。

我的目标是了解哪个选项最有效,哪个选项是最佳选择。

考虑这是一个为数千名用户提供的Web应用程序。

这里有两个示例案例:

A)

Model.java

public class Model {
    public Contact getContact(long id)
    {
        // some logic

        return new Contact(...);
    }
}

Contact.java

public class Contact
{
    private long id;
    private String name;
    private String surname;
    private String email;
    private int session;
    private byte[] avatar;

    // Constructor
    public Contact(long id, String name, ...)

    // Getters and Setters
}

B)

Model.java

public class Model {
    public Object[] getContact(long id)
    {
        // some logic
        Object[] myReturningContact = new Object[n];        
        myReturningContact[0] = rs.getLong("id");
        // ...
        myReturningContact[n] = rs.getBytes("avatar");

        return myReturningContact;
    }
}

SomeController.java

public class SomeController
{

    public void someAction()
    {
        // Option A
        this.setSomeTextTo(contact.getName());

        // Option B
        this.setSomeTextTo(String.valueOf(returningObject[n]));
    }

}

1 个答案:

答案 0 :(得分:2)

选项A是最佳做法,除非您具有无法满足的速度要求,并且选项B可以。

请注意,如果您将字段设为公开且最终且不使用getter,则选项A可能会快一点。

另请注意,如果您有许多原始字段,装箱和取消装箱的成本将减慢选项B的速度,因为字符串上的String.valueOf