数组里添加的是对象的话,为什么没法循环遍历?

来源:2-4 数组中查询元素和修改元素

Grizzlynn

2020-03-26

波波老师,今天我用这节课的数组知识。把对象加入到数组里。
但是遍历循环数组时提示错误。
用For循环如下:
图片描述
用foreach错误如下,其实是同样的错误:
图片描述
请问这是为什么?
难道userArray不是数组吗?
图片描述

写回答

1回答

liuyubobobo

2020-03-27

1.

我们自己的 Array 类不能使用 [] 的方式访问元素。实际上,Java 的 ArrayList 也不能,只能使用 get 的方式访问元素。[] 是 Java 内置的一种特殊的,仅提供给 Java 的静态数组访问数组元素的方式。你说的没有错,我们自己封装的 Array 类不是静态数组;Java 标准库中的 ArrayList 也不是静态数组,他们都不能使用 [] 的方式访问元素,Java 本身也没有开放对 [] 重载的功能(但 C++ 可以)。


2.

在这个课程中,我的代码,不支持直接使用 foreach 循环遍历元素。一个自定义的类,需要实现 Iterable 的接口,由开发者指定 foreach 的逻辑,才可以使用 foreach 的循环遍历元素。可以参考这里:http://coding.imooc.com/learn/questiondetail/149510.html


继续加油!:)

0
1
Grizzlynn
谢谢老师。
2020-03-28
共1条回复

玩转数据结构

动态数组/栈/队列/链表/BST/堆/线段树/Trie/并查集/AVL/红黑树…

6221 学习 · 1704 问题

查看课程