假设有一个类 class A;有一个集合List<A> list;集合里面存放了很多A;
这时新建了一个A a = list.get(5);这个a和list.get(5)是同一个对象吗?
java list.get(position)返回的是一个新的对象还是地址?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
4条回答
关注 - List 获取数据代码: Lists.newArrayList().get()
- 点进去之后源码为:
public E get(int index) {
}Objects.checkIndex(index, size); return elementData(index);
- 拿到elementData 源码为:
E elementData(int index) {
}return (E) elementData[index];
- 拿到elementData 信息为:transient Object[] elementData;
综上可以发现,get方法实际上就是数组的获取指定位置索引的数据信息;由于集合内只能放对象,不能放基本类型,所以里面存储的都是引用类型;且没有任何new 新对象的操作,故是一样的;
解决 1无用
悬赏问题
- ¥15 #MATLAB仿真#车辆换道路径规划
- ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
- ¥15 数据可视化Python
- ¥15 要给毕业设计添加扫码登录的功能!!有偿
- ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
- ¥15 微信公众号自制会员卡没有收款渠道啊
- ¥15 stable diffusion
- ¥100 Jenkins自动化部署—悬赏100元
- ¥15 关于#python#的问题:求帮写python代码
- ¥20 MATLAB画图图形出现上下震荡的线条