java - 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-这与通用有关吗?如果是,请提供一些链接,以便我可以对此进行自我教育。
解决方案
它使用 DynamicArray 的 indexOf() 函数,该函数会遍历数组。您不必为此使用字符串。它的作用是查看数组中的对象是否 .equals() 对象传递给 indexOf() 函数。如果是,则返回索引。
推荐阅读
- java - 为mingw / ios / linus /其他源集导入java lib的解决方法?
- html - 将其定位为绝对后,我的 div 消失了
- android - 无法从 Google Play 控制台中的实时开发人员通知发送测试通知
- java - MediaPlayer.create(this,audio_file)
- delphi - 无法使用 Delphi Indy 控件连接到 https 站点
- php - 将数组排序为升序
- python - 不同场景的随机浮点数
- spring-webflux - 如何在 Spring Webflux / RSocket 中负载平衡通道
- r - 如何将不整洁的列表翻译成整洁的数据框?
- selenium - 使用 Selenium WebDriver 清除浏览器缓存和历史记录