为了账号安全,请及时绑定邮箱和手机立即绑定

静态方法中的 Java 列表查询

静态方法中的 Java 列表查询

慕标5832272 2021-12-10 10:21:35
据我所知,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);    }}
查看完整描述

1 回答

?
ibeautiful

TA贡献1993条经验 获得超6个赞

您向作为数组列表的 sampleList 添加了 20。在 Java 中,对象是通过引用传递的。只有像 int 这样的原始数据类型是按值传递的。

你得到的结果是正确的


查看完整回答
反对 回复 2021-12-10
  • 1 回答
  • 0 关注
  • 148 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号