`

一个指针的奇妙

    博客分类:
  • java
 
阅读更多
大家猜猜这个输出的结果是啥呢?
public static void main(String[] args){ 
List<String> tempList = new ArrayList<String>();
List<Object> aList = new ArrayList<Object>();
for(int i=0;i<10;i++){
                tempList.add(i+"");
       aList.add(tempList);
  }

  for(int j=0;j<aList.size();j++){
        System.out.println(aList.get(j));
   }
}
结果为:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

是否和你想的结果一样呢。?

分析:产生这样的结果是由于aList中每个元素存放的是tempList的内存地址,tempList值开辟了一个地址。所以当输出aList10个元素的值时,都是输出tempList地址的值。
分享到:
评论

相关推荐

    奇妙的C++——智能指针

    1. **std::unique_ptr**:这是独占所有权的智能指针,一旦一个对象被std::unique_ptr拥有,其他智能指针就不能再拥有它。std::unique_ptr通常用于单个所有权的情况,当对象不再需要时,会自动调用析构函数释放内存。...

    崩坏三八重樱鼠标指针主题包

    从普通鼠标指针到特殊的动画效果,每一个细节都经过精心设计,让玩家在日常操作电脑时感受到仿佛身处于游戏世界的奇妙体验。不仅如此,这款主题包还包括了多种状态的指针,如等待、忙碌、帮助等,这些都与八重樱的...

    小学信息技术第一册下 网上世界真奇妙教案 泰山版.doc

    学生需要理解网络是一个由众多计算机和网络相互连接的全球性系统。 2. **浏览器的使用**:浏览器是访问互联网的主要工具,如Internet Explorer。学生需了解如何打开浏览器,以及浏览器在获取和浏览网络信息中的作用...

    小学信息技术第一册下 网上世界真奇妙 1教案 泰山版.doc

    超级链接则是连接不同网页的桥梁,通过点击,用户可以从一个页面跳转到另一个相关页面。 技能目标强调的是实际操作能力,即学会使用IE浏览器浏览网站。IE浏览器是常用的网页浏览工具,学生需要掌握如何输入网址、...

    内存管理分析,让你彻底地明白程序执行过程中的奇妙之处

    `定义了一个指向字符数组的指针;`p = a;`将指针p指向数组a的首地址;`cout *(a + 1) + 1 ;`打印出字符串"def"的第二个字符'e'。 - 第二个代码片段涉及图形处理,虽然主要关注的是绘图逻辑,但也涉及到了动态内存...

    大班科学活动教案:奇妙的旋转教案(附教学反思).pdf

    本教案旨在通过“奇妙的旋转”这一主题,引导孩子们观察、探究旋转现象,并培养他们的观察力、想象力和动手能力。以下是对这一科学活动的详细解析。 一、活动目标 1. 认知目标:让幼儿了解旋转的基本概念,认识...

    利用C++模板的C到Lua简易封装库

    支持一级指针。理论上支持多级指针。压缩包里的LuaMe是封装库,LuaSDL2是利用该库封装的SDL1.2的一些函数和结构体(CodeBlocks),可以作为参考代码。源代码行数相当小,可以作为自己实现封装的参考。想封装C++类的话...

    C 语言—高级语言之父,从零开始

    一个C程序通常由预处理指令、函数定义、变量声明和控制结构组成。预处理指令以`#`开头,如`#include`用于引入头文件,`#define`用于常量定义。函数是C语言的核心,它封装了可重复使用的代码块,通过函数调用来执行...

    一个C#睡前的故事

    事件的定义通常包含一个事件字段(委托类型),一个添加事件处理方法的`add`访问器,以及一个移除事件处理方法的`remove`访问器。 现在,让我们通过一个简单的例子来进一步了解委托和事件。假设我们有一个`Timer`类...

    你可能不知道的陷阱:C#委托和事件的困惑

    指针是如此奇妙,通过一个地址,可以指向一个数,结构体,对象,甚至函数。最后的一种函数,我们称之为“函数指针”(和“指针函数”可不一样!)就像如下的代码:C语言因为函数指针获得了极强的动态性,因为你可以...

    第一个作品-少儿编程scratch项目源代码文件案例素材.zip

    《少儿编程Scratch项目源代码解析与学习指南》 Scratch是麻省理工学院(MIT)的“终身幼儿园团队”开发的一款...通过实践“第一个作品”这样的案例,孩子们可以在实践中探索,体验编程的魅力,开启科技世界的奇妙旅程。

    数学:江苏省无锡市长安中学12.3等可能条件下的概率(二)课件 (苏科版八年级下).ppt

    例如,在一个设计精巧的转盘游戏中,转盘被均匀分割成几个扇形区域,指针落在任何一个区域的概率都是相同的。在教学中,通过情境1和情境2的两个转盘案例,学生们能够直观地感受到概率的基本原理。当一个转盘有8个等...

    生命-瞬间及永恒作文.doc

    同样,一个普通人的一句话,一个微笑,或者一个行为,也可以在他人的心中留下永恒的印记。 在探讨生命的永恒时,作者提到了我们对生命流逝时的感慨和无奈。这种情感是复杂的,既有对生命无常的悲哀,也有对生命价值...

    超美迪斯尼官方XP主题5

    【超美迪斯尼官方XP主题5】是一个专为Windows XP操作系统设计的主题包,它集成了迪斯尼的经典元素,旨在为用户带来充满童趣和梦幻的桌面体验。这款主题包不仅包含了桌面壁纸,可能还涵盖了窗口外观、鼠标指针、系统...

    22世纪的闹钟作文.doc

    当时间的指针指向22世纪,一个平凡的物品——闹钟,也发生了令人瞩目的革新。想象一下,这样一个物品不仅能够精确地叫醒我们,还能够与我们交流、适应我们的生活节奏,甚至成为我们生活中不可或缺的一部分。让我们...

    207724271-Linguagem-C_PrograminginC_

    指针是一种变量,它存储的是另一个变量的地址。理解指针的概念,学习如何声明、初始化、解引用和操作指针,能让你更好地掌握内存管理和动态数据结构,如链表和树。 数组和字符串在C语言中也有着重要地位。数组是一...

    趣味程序导学C语言,用小游戏学C

    在学习指针时,我们可以设计一个小游戏,模拟内存寻址。指针是C语言的一大特色,它允许我们直接操作内存地址,实现高效的数据操作。通过指针,我们可以实现动态内存分配,以及数据结构如链表的创建。 函数是C程序的...

    c语言——舅舅奇异的魔法

    "舅舅奇异的魔法"可能是一个形象的说法,暗示了C语言在编程中的奇妙之处,就像是一个懂得魔法的舅舅,能用简单的指令创造出复杂的程序世界。下面,我们将深入探讨C语言的一些核心知识点。 首先,C语言的基础包括...

    kotlin-puzzlers,科特林拼图集.zip

    这可能包括一个个独立的Kotlin文件,每个文件代表一个特定的谜题,开发者可以通过运行和分析代码来挑战自己的Kotlin知识。谜题可能涉及类型系统、函数重载、空安全、操作符重载、扩展函数、协程等Kotlin的核心特性。...

    c语言坑爹大冒险.rar

    “C语言坑爹大冒险”这个主程序文件可能是由多个源代码文件组成的,每个文件代表一个关卡或者一个功能模块。这些文件可能会包含各种C语言的特性,如变量声明、条件语句(if-else)、循环(for, while)、函数定义、...

Global site tag (gtag.js) - Google Analytics