前段时间写一个程序发现结果運行不正确,经过调试终于找到了问题所在那就是java值传递中传的是引用的地址值,而不是值新手一定要注意。
你以为这段代码运行出來的结果是[1 2 3]?那你就错了其实运行结果是[],问题出在哪呢?就出在result.add(temp)这句代码不是传值而是传引用,换句话说result的第0个元素不是[1 2 3],而是指向temp的內存地址,所以当temp.clear()这句代码执行完后temp被清空,而result的第0个元素也跟着被清空了所以会出现输出为空的结果,新手编程时一定要注意