gpt4 book ai didi

java - 返回新对象或设置传递对象的变量

转载 作者:行者123 更新时间:2023-11-29 08:35:57 25 4
gpt4 key购买 nike

我正在阅读 this并想知道是否有特殊原因让方法用数据填充预先存在的数组或对象,而不是返回对象或数据的实例。

在某些情况下,例如图形,它允许重用一个对象,只需重写基元,而无需在每次调用时分配另一个对象。

还有其他我没有考虑到的好处吗?

最佳答案

I was reading this and wondered whether there is a particular reason for having methods which fill a pre-existing array or object with data, rather than returning an instance of the object or data.

这是两种可供选择的方式。
提供要填充的对象作为方法的参数在以下情况下具有一些优势(当然还有其他优势):

1) 你想向方法提供一个对象,该对象的状态由客户端定义,而不是处于调用方法中定义的通用或原始状态。
如果不将它的实例作为参数传递,您将无法执行此操作。

2) 你想节省内存消耗。如果您已经有一个对象将其作为参数传递,为什么要在调用的方法中创建一个新对象?

3) 方法中有多个对象要赋值,但一个方法只能返回一个对象。

假设您想在实现中填充 3 个列表。

例如,您可以调用 poupulateList(myList, myOtherList, myAgainOtherList);

使用此实现:

public void populateList(List<String> list, List<String> myOtherList, List<String> myAgainOtherList){
....
}

如果不将对象作为参数传递,您将不得不引入一个包含所有这些对象的自定义类,并将其定义为方法的返回类型。

关于java - 返回新对象或设置传递对象的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44097749/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com