suwu150 2016-09-02 23:59 采纳率: 20%
浏览 854

下列程序在 1 处是否会有异常,如果没有,输出是什么?是否会 运行到 2 处,如果会,输

下列程序在 1 处是否会有异常,如果没有,输出是什么?是否会
运行到 2 处,如果会,输出是什么?为什么会有这样的结果?
import java.util.ArrayList;
import java.util.List;
public class TestClass {
public static void main(String args[]) {
List list = new ArrayList();
test2(list);
System.out.println(list.size()); // 1 处
test3(list);
System.out.println(list.size()); // 2 处
}
public static void test2(List list) {
list = null;
}
public static void test3(List list) {
list.add(“aaaa“);
}
}

list=null是啥意思??内存怎么变化?以及最后的结果???

  • 写回答

2条回答 默认 最新

  • Code老大爷 2016-09-03 01:27
    关注

    不会报错:0 1
    个人观点:list传递方式表面上还是值得传递,并不是地址的传递,
    但是List list = new ArrayList();ArrayList的底层实现其实就是数组,所以当在调用list的方法时候 值是会传递进去的

    评论

报告相同问题?

悬赏问题

  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作