Имеются ли накладные расходы или проблемы с производительностью при передаче всего объекта по сравнению с передачей примитивное значение, как в вариантах 1 и 2?.
[РЕДАКТИРОВАТЬ: Я имел в виду передать ссылку на объект Java и примитивный тип. От @TJ Crowder, я понимаю, что здесь нет проблем с производительностью, поскольку размер ссылки на объект в обоих случаях одинаков. Но что касается стиля / перспективы дизайна API, который вариант самый лучший? ]
В настоящее время я определяю уровень обслуживания. Я предпочитаю "Тип 1", поскольку он мне нравится, но если «Тип 2» подходит для производительности, я выберу тип 2.
Class A {
User user = SomeClass.getUser("anUser");
B b = new B();
b.doSomeOperation(user); // option 1
b.doSomeOperation(user.getUserId()); // option 2
}
Class B {
// Type 1
public void doSomeOperation(User user){
// some work done by using user.getUserId()
// I do not really need whole user object now.
}
// Type 2
public void doSomeOperation(int userId){
// some work done by userId
}
}