gpt4 book ai didi

静态方法中的 Java 列表查询

转载 作者:太空宇宙 更新时间:2023-11-04 10:05:20 25 4
gpt4 key购买 nike

据我所知,Java 使用按值传递。但如果你看下面,我传递了一个列表并向其中添加了一个整数。

所需输出:在 [] 之前列出之后应该是 []
结果输出:在 [] 之前列出之后是 [20]

另外,

如果我初始化静态函数内的列表,就可以实现我想要的输出。

请问这个现象的原因

import java.util.ArrayList;
import java.util.List;

public class NormalTest {

public static void testMethod(Integer testInt, List<Integer> sampleList) {
testInt *= 2;
System.out.println(" Inside testInt :: " + testInt);
sampleList.add(testInt);
}

public static void main(String[] args) {
Integer testInt = 10;
List<Integer> sampleList = new ArrayList<>();
System.out.println(" Before testInt :: " + testInt);
System.out.println(" Before sampleList :: " + sampleList);
NormalTest.testMethod(testInt, sampleList);
System.out.println(" After testInt :: " + testInt);
System.out.println(" After sampleList :: " + sampleList);
}
}

最佳答案

您将 20 添加到了 SampleList(一个数组列表)中。在Java中,对象是通过引用传递的。只有像 int 这样的原始数据类型是按值传递的。

您得到的结果是正确的

关于静态方法中的 Java 列表查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53008534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com