xdm问一个问题

java里 a是arraylist(),里面放了些对象,b = new ArrayList(a),把a第一个删了,b里的会不会被删,a里面的第一个赋值了另一个对象,b里面的会不会跟着变。额 刚才面试我至少答错了其中一个
全部评论
arraylist的拷贝构造是浅拷贝,存的都是引用,因此如果存放的对象不是不可变类型的话,修改对象的值都会影响其他的,但删除和添加不会影响
点赞 回复
分享
发布于 03-30 00:57 四川
java默认是浅拷贝吧,object里面为了应对浅拷贝所以先默认给了一个clone方法吧,题主有写过rust或者c++么,了解过引用/移动语义/所有权这些再回来看java这些挺好理解的
点赞 回复
分享
发布于 03-30 22:55 北京
滴滴
校招火热招聘中
官网直投

相关推荐

点赞 2 评论
分享
牛客网
牛客企业服务