我有一个编码困境,我不知道是否有处理它的模式或实践。每当我必须将一些值传递给方法时,大多数时候我会尝试仅传递所需的对象,而不是传递由它们组成的对象。我正在和一位朋友讨论 Java 如何管理堆和内存的东西,但我们一无所获。
让我举两个例子:
//Example 1:
private void method doSomething(String s, Car car, boolean isReal){...}
...
String s = myBigObject.getLabels.getMainName();
Car car = myBigObject.getCar();
boolean isReal = myBigObject.isRealCar();
doSomething(s, car, isReal);
//Example 2 - having in mind that BigObject is a really big object and I'll only use those 3 atributes:
private void method doSomething(BigObject bigObject){...}
...
doSomething(myBigObject);
在第二个例子中,在我看来内存会被浪费,传递一个大对象而不需要它。