xdm问一个问题
java里 a是arraylist(),里面放了些对象,b = new ArrayList(a),把a第一个删了,b里的会不会被删,a里面的第一个赋值了另一个对象,b里面的会不会跟着变。额 刚才面试我至少答错了其中一个
全部评论
java默认是浅拷贝吧,object里面为了应对浅拷贝所以先默认给了一个clone方法吧,题主有写过rust或者c++么,了解过引用/移动语义/所有权这些再回来看java这些挺好理解的
arraylist的拷贝构造是浅拷贝,存的都是引用,因此如果存放的对象不是不可变类型的话,修改对象的值都会影响其他的,但删除和添加不会影响
相关推荐
10-22 12:03
山东大学 Java
程序员小白条:26届一般都得有实习,项目可以随便写的,如果不是开源社区的项目,随便包装,技术栈也是一样,所以本质应该找学历厂,多投投央国企和银行,技术要求稍微低一点的,或者国企控股那种,纯互联网一般都得要干活 点赞 评论 收藏
分享
