Java:this关键字前面加类名

2024-07-03

我在 jdk 8 的 ArrayList.java 中找到了一个片段:

    @SuppressWarnings("unchecked")
    public E next() {
        checkForComodification();
        int i = cursor;
        if (i >= size)
            throw new NoSuchElementException();
        Object[] elementData = ArrayList.this.elementData;
        if (i >= elementData.length)
            throw new ConcurrentModificationException();
        cursor = i + 1;
        return (E) elementData[lastRet = i];
    }

该行:Object[] elementData = ArrayList.this.elementData;我看起来很奇怪。

I think ArrayList.this相当于this这里。我对吗?如果有区别,使用有什么好处ArrayList.this over this?


如果有区别,使用 ArrayList.this 比 this 有什么好处

内部类具有对外部类的引用。使用外部类this你把外部类的类放在它前面。

注意:在这种情况下this是一个迭代器并且没有名为的字段elementData

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java:this关键字前面加类名 的相关文章

随机推荐

  • insertImage 中的未知 URI 错误

    尝试将位图保存到图库中 Bitmap bitmap Bitmap createBitmap surfaceView getWidth surfaceView getHeight Bitmap Config ARGB 8888 surface
  • 使用变量命名数组

    是否可以使用不同的变量来命名数组变量 例如 如果我将变量 i 定义为一个整数 其值等于我在工作表中使用的列数 Sub varNameTest Dim i j As Integer i ActiveSheet UsedRange Column
  • 为什么 Array 被选为 kotlin 中 main 函数的参数类型?

    kotlin中的主要功能 fun main args Array
  • .htaccess mod_rewrite 豁免

    使用模板 我有这个 htaccess mod rewrite 代码 它使我的 URL 变得漂亮
  • 在 Android 中删除 Admob 的应用程序内购买

    我已经实现了激活admob的代码 我想引入应用内购买来删除admob 任何人都可以告诉我如何完美地做到这一点 我已经检查了很多教程但不清楚概念 请在这方面帮助我 private ImageView imview private int w
  • 启动画面颜色在 Flutter 中没有变化

    我是 Flutter 新手 仍在练习中 我正在创建一个启动屏幕 但启动屏幕的颜色没有改变 My Code launch background xml
  • Matplotlib 股票行情指示器

    有人可以给我一个如何使用以下 tickFormatters 的示例吗 这docs https matplotlib org api ticker api html对我来说毫无意义 ticker StrMethodFormatter tick
  • 将 json 发布到 spring mvc 控制器

    控制器签名 我也尝试过作为请求主体 RequestMapping value Lame method RequestMethod POST public ResponseBody boolean getLame RequestParam S
  • neo4j 产生“未提供授权标头”错误

    我正在尝试从命令行访问在 aws ec2 实例上运行的 neo4j 但出现授权错误 我已启用org neo4j server webserver address 0 0 0 0并在第一个语句上收到 503 错误 并且使用 ec2 主机名在其
  • Base64编码换行

    我正在尝试在 shell 脚本中将一些十六进制值编码为 base64 nmurshed ugster05 echo n 1906 1d8b fb01 3e78 5c21 85db 58a7 0bf9 a6bf 1e42 cb59 95cd
  • 带有 ñ 等特殊字符的 php

    起初我认为问题是当我从 ajax 调用返回 echo json encode row 时 结果 更改为 NULL 但经过测试 我发现这个问题早在之前就已经存在了 在示例 php 文件中 test Nu ez echo test 结果就是Nu
  • JavaScript 中的 DOM 和 BOM 是什么?

    JavaScript 中的 DOM 和 BOM 是什么 如果有人能用通俗易懂的语言解释这些 那就太好了 我喜欢对这些有更深入的了解 BOM 浏览器对象模型 由以下对象组成navigator history screen location a
  • 在哪里可以找到旧的“开发者协作”插件?

    曾几何时 有一个名为 开发人员协作 的 NetBeans 插件 它允许您进行远程结对编程 现在 在 Netbeans 6 7 中 不再有 开发人员协作 而是有一种称为 Kenai 支持 的东西 不幸的是 Kenai 似乎没有实时编辑器 它似
  • Tobii 眼球追踪器

    我们正在尝试将 Tobii 眼动仪连接到 Ubuntu OS 16 04 6 LTS Nvidia Jetson TX2 模块 然而 当我们想要 pip install tobii research 时 我们不断收到一条错误消息 指出没有找
  • Xcode 版本中的 GM 是什么意思

    我是 xcode 和 ios 开发的新手 最近我看到了 xcode 版本 例如Xcode 6 0 通用版进而Xcode 6 0 我想知道我们应该如何处理 GM 或者我们需要等到非 GM 版本才能构建 ios 应用程序 谁能给我解释一下吗 X
  • 在动态表单上添加规则

    我正在尝试根据后端的 JSON 响应在动态填充的表单上添加验证规则 我正在使用 jQuery 1 9 1 和 jQuery 验证插件 function getItems Id ajax url success function items
  • Python 子类实例的输入签名?

    考虑 from future import annotations class A classmethod def get cls gt A return cls class B A pass def func gt B Line 12 r
  • Android - 比较两个日期

    我想比较我的申请中的两个日期 第一个日期将是今天的日期 第二个来自数据库 为了保存第二个日期 我的代码如下 为了简单起见 使用明天的日期 Calendar calendar Calendar getInstance calendar add
  • RMarkdown。如何减少标题栏和正文开头之间的间距

    我已经在 Mac 上通过 RStudio 成功使用了 RMarkdown 最近升级到 RStudio 1 2 5019 和tinytex 0 18 现在我的 标题块 和 第一个正文文本 标题 之间的垂直间距增加了 简单的例子 故意排除aut
  • Java:this关键字前面加类名

    我在 jdk 8 的 ArrayList java 中找到了一个片段 SuppressWarnings unchecked public E next checkForComodification int i cursor if i gt