Java中List集合赋值碰到的疑问,请Java高手解答

feekee 2022-06-07 10:21:39

源代码如下:

package com.company;

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

public class TestVectorTwo {
    public static void main(String[] args){
        List<String[]> list=new ArrayList<>();
        String[] str=new String[2];
        str[0]="1";
        str[1]="2";
        list.add(str);
        str[0]="3";
        str[1]="4";
        int i;
        for(i=0;i<list.size();i++) {
            String[] result = (String[]) list.get(i);
            System.out.println(result[0]);
            System.out.println(result[1]);
        }
    }
}

在c里面,很明显,这是会打印出1、2的;但是在Java中,即使对str数组的第二次赋值是在list.add()之后,打印出来的也是新值3、4。哪位大侠能够讲一下,Java和c在这方面的不同之处,偶是一名入门新手,想学习和了解一下这方面的知识。

...全文
60 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

51,407

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧