List<List<Integer>>会更新,即使它不是全局变量,是因为Java中的对象传递是通过引用传递的。当一个对象作为参数传递给一个方法时,实际上传递的是该对象的引用,而不是对象本身。因此,当我们在方法中修改传递进来的List<List<Integer>>对象时,实际上是在修改原始对象。
这种行为也适用于List<List<Integer>>对象。当我们将一个List<List<Integer>>对象传递给一个方法,并在方法中修改该对象时,原始对象也会被修改。
这是因为List<List<Integer>>是一个引用类型,它存储的是对象的引用而不是实际的对象。当我们修改引用类型的对象时,实际上是在修改对象的内容,而不是修改引用本身。
要避免这种情况,可以使用深拷贝来创建一个新的List<List<Integer>>对象,以确保修改不会影响原始对象。可以使用Java中的clone()方法或使用第三方库如Apache Commons Lang中的SerializationUtils.clone()方法来实现深拷贝。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云