我想在调试期间更改长数组的值和长度。
例如在我的代码中
long[] longArray = returnLongArray();
现在我想更改longArray变量的值
longArray的内容是[0,0,1,1],但我想将其更改为[0,1,2]
请注意我想要更改长数组的内容以及长度,并且代码在生产中运行时也无法热插拔代码
通过变量视图,我可以去改变数组的每个原始长值,但不能减少长数组的长度。
最好的问候,
Saurav
答案 0 :(得分:1)
有几种方法可以做到这一点,因为您不清楚要删除哪些数组项。
假设:
longArray[0] = 0
longArray[1] = 0
longArray[2] = 1
longArray[3] = 1
或
longArray = [0,0,1,1]
可以通过以下方式操作数组:
longArray.splice(1, 1);
导致:
longArray = [0,1,1]
可以使用以下方法再次操作数组:
longArray[3] = 2;
导致:
longArray = [0,1,2]
答案 1 :(得分:1)
您必须将数组对象本身的值更改为类似" new type [4]"的值,然后编辑数组中的条目并更改其值。
答案 2 :(得分:0)
这就是我所做的。
我必须直接更改从returnLongArray();
返回的引用我使用longArray = Arrays.copyOf(longArray,3)减少了数组长度,然后更改了值。