首页 > 解决方案 > String 的 indexOf(String obj) 方法在没有 String 对象的情况下如何工作?

问题描述

我正在学习,如何制作动态数组。我知道 Collection API 中有内置类,但我只是想了解它实际上是如何工作的。我从这里获取了整个代码 https://github.com/williamfiset/data-structures/blob/master/com/williamfiset/datastructures/dynamicarray/DynamicArray.java

这是一个泛型类,类中的一种方法对我来说没有意义

public boolean remove(Object obj) {
    int index = indexOf(obj);
    if (index == -1) return false;
    removeAt(index);
    return true;
  }

上面的方法检查给定的对象是否存在于数组中,然后它将调用 removeAt() 方法,该方法将创建一个没有该对象的新数组,如果该对象根本不存在,则返回 false。

1-这个 indexOf() 方法如何在不使用 String 对象和不遍历数组的情况下正常工作。

2-这与通用有关吗?如果是,请提供一些链接,以便我可以对此进行自我教育。

标签: javagenerics

解决方案


它使用 DynamicArray 的 indexOf() 函数,该函数遍历数组。您不必为此使用字符串。它的作用是查看数组中的对象是否 .equals() 对象传递给 indexOf() 函数。如果是,则返回索引。


推荐阅读