java浅表副本,java - 返回getter中的浅表列表副本以及getter如何工作 - SO中文参考 - www.soinside.com...

我不确定如何在getter中创建一个浅拷贝实际工作以及它将如何使我们受益。

它是否仍然作为普通的getter起作用,因为每当我调用getter方法时,我都可以检索该列表中的信息?

我担心这个,因为将来如果我打电话给this.strings和this.getStrings()他们会产生不同的输出,这将是麻烦。

我想这里有一个隐含的问题,

我一直在考虑这个问题一段时间了:

如下例所示,有些人只会调用strings来获取该列表中的信息(因为在这种情况下它是私有的,所以我认为它可以正常工作吗?),其他人去调用this.strings或this.getStrings。

我是java的初学者,所以所有这些似乎都能够达到相同的结果,这让我很困惑。

谁能解释一下?对不起,如果措辞不清楚。

代码如下:

import java.util.ArrayList;

import java.util.List;

public class Experiment {

private List strings;

public Experiment(String string) {

this.strings = new ArrayList<>();

}

public List getStrings() {

return strings;

}

}

一些程序员没有实现:

public List getStrings() {

return strings;

}

相反,他们做:

public List getStrings() {

return new ArrayList<>(strings);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值