草庐IT

java - java中不正确的变量更改

我在Eclipse中遇到问题。为什么oldList的值在LogCat中不同,而我没有在两个Log命令之间更改它?首先我有一个initialize方法:privatevoidinitialize(){list[0][0]=2;list[0][1]=4;list[1][0]=3;list[1][1]=7;oldList=list;going();}在going方法中,我打印了两次oldList:privatevoidgoing(){for(inti=0;i但是这两个结果在LogCat中是不同的:oldList=2oldList=4oldList=3oldList=7------------

无明显原因使用 Python 列表切片语法

我偶尔会看到Python代码中使用的列表切片语法如下:newList=oldList[:]当然,这与:newList=oldList还是我错过了什么? 最佳答案 [:]Shallowcopies列表,复制包含对原始列表成员的引用的列表结构。这意味着对副本的操作不会影响原件的结构。但是,如果您对列表成员执行某些操作,则两个列表仍然引用它们,因此如果通过原始成员访问成员,则会显示更新。一个DeepCopy也会复制所有列表成员。下面的代码片段显示了一个浅拷贝。#=======================================

无明显原因使用 Python 列表切片语法

我偶尔会看到Python代码中使用的列表切片语法如下:newList=oldList[:]当然,这与:newList=oldList还是我错过了什么? 最佳答案 [:]Shallowcopies列表,复制包含对原始列表成员的引用的列表结构。这意味着对副本的操作不会影响原件的结构。但是,如果您对列表成员执行某些操作,则两个列表仍然引用它们,因此如果通过原始成员访问成员,则会显示更新。一个DeepCopy也会复制所有列表成员。下面的代码片段显示了一个浅拷贝。#=======================================